200000
92049 87636
347972189 290678188 556602809 676634785 898874745 223157404 393460949 597367451 226788214 333765646 974039658 541939308 428132167 232954165 594040282 371846732 630767717 562366023 399495373 680591527 984611682 887317802 882551310 443290562 555256425 772440940 685354797 438173310 584292422 298846515 944017314 592046154 694122510 514103397 536856993 648471986 453676561 440063947 345727141 998171713 478481189 951541275 745812444 791503836 655728900 184782405 621317711 228148906 621515645 840767881 925907830 994966356 331600049 767886625 355843286 874642910 584304559 717471695 947446999 399552077 348817882 616941695 871981275 599047692 455432883 830196832 390817860 892706907 301763388 614629052 333912263 941777298 242186937 423723827 894391876 455747678 540267377 126663718 103393562 311834861 796810482 935423502 328444873 228904710 299661913 179908612 977661243 770121469 202643102 855895573 303434658 858930631 367812690 543613240 610684533 233508739 866969015 796561371 875756829 754465581 525058543 425790178 392119847 608433185 492648230 418077863 698938317 778033004 618573618 394462645 363202243 428608783 236576398 140453754 529753762 821655580 366645136 984544255 843305086 461845963 127117342 777976953 560431561 634500943 889405966 366335190 109542513 283835630 415504351 780819676 301837612 373086292 103256521 932565748 475981066 290121699 547404149 880687238 642505628 706917782 530193376 343539959 669845477 647097751 366393100 834775231 723927931 804627868 369471444 818709060 196750924 170127777 272392563 663489573 355095371 809203559 965618671 557565664 209346216 289093926 138326898 473727200 512260257 562138576 612487471 146090801 449169037 731877847 652519718 302519193 947160823 862648693 308488453 912294944 735264173 660421486 472338734 955313712 606641457 815226060 696355898 941232169 171534324 984813787 447687043 706928626 213773147 491196964 837991052 343783467 142078167 812657162 273495367 757869436 513857231 679601254 193211574 917728893 423568581 737305845 678605403 880526020 985394613 945791626 853933275 712647616 314515995 742854339 430778515 780939203 786552258 627228217 343168686 756758317 446479818 187914588 267553003 968587156 497574190 125255318 311063497 403071475 229400847 655543408 191596766 598643239 151379034 871127960 876047920 354922214 937626470 427274774 497584386 773694838 584972760 834369737 873958902 993608439 401998333 351629274 394114450 255379748 750737574 487130153 925757994 135118889 759042935 202374404 607522213 752849756 741935832 524144641 251200752 159765674 807231918 165365044 572790106 161801267 310648545 345607277 947291199 723575901 435679784 883418589 281089747 980449941 452313397 648302628 650490662 231733109 127895721 939884878 141530531 519904159 462102104 120839783 443300729 427069824 408811261 270507998 975728337 391842904 591281469 655960068 160799006 876180114 223883257 792304675 824945763 295193606 481955494 465723494 989112472 953493337 594355061 928963455 921423057 272992353 961514012 725587852 744114307 714096876 612938585 444097435 825207012 842094262 533775847 529732205 456122668 451565050 907976791 927207880 807711140 402772103 631974250 898010554 185695624 958147090 812308239 661211912 581645745 862513406 453871623 649882843 459070923 760963343 308930206 926107655 534535365 247537777 730810382 517762065 397291501 606617638 547374848 464454012 705141755 594270895 931106046 191163640 875836741 605635965 206170378 242326548 864028104 325075275 169991291 948216608 354075216 304102742 680453546 887290204 972274166 377366441 456164923 148025531 444587030 311833487 237486794 221924738 869440488 921525832 485237454 293623758 437700249 555681201 372094777 170137177 705080525 860134477 529853837 931264332 707862151 968664353 261136986 451244338 624232908 286300792 603035972 978169268 944720767 963708844 109495721 691209798 114535899 812678931 226073568 256748749 377755334 595349568 217917130 602350409 799129720 532605696 893929673 910257102 777620235 719234565 584766992 666878141 183016192 619049431 418912439 244380763 512846315 724006162 686355997 923617761 475247354 224888985 152092046 488719150 451532138 460195459 776390081 617925915 976859330 252143416 750017594 761791093 518112505 567824319 601284891 564074944 279209142 240151821 823919004 286109532 370776318 964104699 621689534 798034501 192501131 344520700 389902598 899295653 664354168 601569873 391170802 457515835 829300833 409176397 396306126 789024696 122684013 670316132 208669619 788168375 808898480 939538848 207463805 804685224 129843471 230307051 598202718 353359895 664426781 858375474 404500162 564704697 289592179 536726764 984882440 710142528 676031774 226461648 751957051 485358235 772683454 355625795 633791230 992736576 181756591 582264354 522017601 600988401 374368421 994362605 885283699 618839153 650754659 755412074 800571187 584154893 413019833 206854574 656007340 338002566 531632046 546949300 274094570 581484771 320017299 513866455 544895376 312530683 748869532 399140588 787090584 661343615 604149094 705106239 884308486 595604134 139842855 223285740 446749979 507659922 865630534 501617273 830932388 103595196 532932953 546993314 956968417 948380038 717237514 869773406 792793553 325572987 961800172 363523467 120178276 693397508 393835623 601266288 303478564 532080253 404768955 138634548 291073258 306266356 443303417 433447009 944746808 369630264 434358994 934059766 210503332 498759704 448165872 936422598 246375169 232043424 215033880 439757217 278427040 167677453 761964033 771393758 765626993 912869877 789357759 218295553 769960391 907056282 622651148 298739831 157331310 862701392 964220295 931863190 801259241 488343234 245171297 791757260 758198511 173262237 208172401 231857037 922630981 171033186 853499722 445780915 748131723 284695433 834457579 601087395 121130471 665547661 770755882 422492846 766971470 385229336 441567855 577302659 678359896 485342292 775141561 655801803 343673949 891798862 512275273 326747344 849803635 898807343 303229325 811004595 636662869 162641911 983257025 718578521 420558008 131511913 937025391 101724532 388276313 719965393 890938228 725848207 371888393 640579595 321075817 773193400 925098845 481428338 139806606 944909357 372563985 643090160 679645014 134761461 480734194 152879424 876259666 260155540 308967123 911531660 107122544 644343522 105382689 997010040 668218015 590520100 170537841 109135712 115959602 774658808 121302975 202873818 801384009 451202112 499689400 565300375 789301886 798420530 868319263 930600067 297062650 260864542 374130766 381608194 842124332 286932423 314521636 342301565 752807418 112369014 578835531 552521016 237009726 318459165 211754916 142306738 246663651 770421214 175971617 373084500 295904948 622781476 568488046 256367611 230154796 686372764 878833803 528659715 884343525 540018477 309566665 400137921 341722283 496784437 831481324 224598227 913452759 224688402 648799783 482774028 632768965 234202507 486504360 319201919 618525592 722015815 835918142 240521108 557188762 712922941 220427283 250635730 726281090 858392175 243667949 855897931 381131931 249594044 774612162 418955844 580584323 732918031 949688139 300735722 793735464 617908425 557172620 837228354 326029104 604185643 627161583 519902645 299251658 866966556 696306869 601865635 251251979 925601831 266712441 536177054 928665042 109452243 926358114 988135548 497794024 479673774 345142960 981189137 774116018 485806893 607902314 970626399 608858762 198029262 806220739 476232263 936449872 206746446 928192449 398107448 815320223 112588837 202536894 739191933 233500314 157621508 361603890 422362613 759373589 718227095 246392783 123174383 208273370 252315317 174814996 937834261 642058597 961339729 470563845 196023303 415940131 950903575 836164610 946348606 703390042 832731093 157490890 207072131 224974015 215872479 741084975 433428601 444409887 861585214 584765286 271931107 780363703 752750544 782406632 733037045 864816788 332749504 894260924 129810403 459187489 289083196 169646549 379698895 481395708 375147428 556507694 872889394 892791473 251556184 947132118 731502246 982252512 226272537 830581162 984603237 228541276 817184380 714147056 903692365 359290332 644441634 853119693 631500794 969722116 697413013 221488639 909678025 636702800 713294917 600602833 357134994 226212960 510745577 811091305 460576602 966061467 916699726 289157566 660801001 413783346 229388865 956106545 779937806 514889215 920792264 293101721 763861145 455550527 985719333 255373708 252222077 825854227 301600619 170928446 179823089 941620129 933800758 675904163 892716625 300064871 705105279 227812076 692965893 960635236 911954860 577730978 988942309 489918509 266946193 734539146 902911958 735473915 676468492 688380471 498202476 555279104 299555433 723403964 594750936 897831538 451191883 237113204 993788469 376223868 364917517 323711364 284902181 939776109 869446310 166035223 111199032 101701631 632373393 918322302 947588750 993169520 871769582 964127458 226290570 874960373 154285672 318555244 344667810 355415867 826034119 224205329 441430106 581536517 951902909 209662871 756656916 153030570 571017744 884969101 405764338 391486424 738005248 265577429 634569636 670840866 747584317 892361247 596442400 147887956 235763105 276702848 110411762 365797773 939510893 252261757 202462952 314900880 127335503 876250218 915366743 836647740 229959563 595585531 640960219 867061868 301023528 346456734 276050880 248672891 569785550 116400645 561317308 965875773 221066872 962366149 286337281 834338687 321595010 372555028 666849381 590808059 554550547 603203670 199561295 940817884 403439718 303050914 533405985 958495958 299558263 976035789 657644442 273801849 425145038 430043888 240462210 854267026 707585591 667975410 194429427 918051425 580881862 502083583 349280852 808059185 992066068 275651880 700447608 150527173 110195444 160645724 259039782 824003829 948220472 813834423 476750328 547706741 183269962 568497495 582241809 442341360 469326227 249927691 971428375 692736844 141148551 379989679 792631871 801288687 563482730 438364779 726255953 358791997 573619310 830499826 256947900 469740801 514083878 618705133 183967710 731048832 386676313 220967794 495189300 142818652 230935436 579291499 431698763 672864296 779019614 845976685 640594616 660199438 610291378 833695344 213952639 927858748 892943635 397506043 761566526 199905072 446618208 203962770 312902900 361446763 687451198 715418365 801908647 243018679 492051884 207546111 693194544 480003362 430163554 565930297 226604268 359250357 427634866 939278172 515231350 396760617 975590213 902828892 186108486 464774882 249187346 277317059 361564884 290032729 806026565 832696069 879926124 944757817 116928987 141758130 181796313 706841211 613356388 922501464 689331211 957966286 878207597 678501087 268032841 773184757 629603884 751621197 173519161 599624844 968968795 920851899 346206516 308870927 580349980 229821113 432851342 531282545 282188686 109943865 673686466 524876382 976600149 749557591 805941937 537650432 785165080 462402425 795297947 188809165 960627835 234146217 724771677 987399938 402461521 490830212 534050981 438197031 303627595 113298470 831441544 313590595 905134415 506624366 918248187 826216354 800925727 489800021 861291554 953364756 226346715 907715356 405772191 245415100 582309051 193307290 722463334 578525061 674787725 178871705 328079295 622807765 708410615 787735553 147017441 432017197 932109280 777234663 679121418 285220968 757238865 503633764 748179376 296606450 316733664 145797893 657827425 730009188 849934706 120377339 960914674 651227286 578588146 649384330 628702325 999293078 253691560 510185140 148600046 657317834 727180257 432641205 481877809 607434231 269037151 338900394 930105605 431022745 336701407 402669972 331416071 323982830 300952314 730481690 979409984 328827592 615789846 652911128 705381820 128008113 721950794 836839668 786189311 289311517 607063194 856690909 970835515 933149469 527177434 911225697 181031463 666269011 310087847 552730475 509789317 514013083 358870345 930792648 616892553 228239002 334935539 864875483 406953577 533679704 626411593 564577832 593248597 295592475 689179150 256858925 972294063 794993619 169143157 490265711 530582667 580500763 101603311 354194155 225334537 802191396 888621602 844013645 646736290 822423492 497592772 711348102 284105847 205473548 699666910 105019420 957503868 645125366 266936592 522919376 204693649 456641399 551138380 617919117 121510841 453850037 459313543 183436853 399125975 120052532 585652828 805315661 952679572 306923785 761239157 642220128 308143069 147667385 691377826 983996325 724897238 970601766 204543416 498761205 764422532 333724008 876655433 916659285 291374260 567468555 385717108 236886721 497100516 231447448 760778737 557320250 375549250 289876434 264425269 495021891 974568988 228823958 170788268 498812991 285875863 705931646 581089838 717534898 202164413 183178192 420035301 444222745 635308544 328408946 325065320 412689214 721284113 737572846 746833770 890939760 839954213 274587361 944904956 998802192 110865390 282382014 822552783 416919977 376182364 333751157 570025719 262979453 726673563 681936622 124293089 891167740 427644445 835092528 594836417 408309126 443056840 543910206 345722124 140290017 991679469 381795327 310006367 144441342 435690656 200567449 677265686 399094974 623252642 786864404 772827353 388142473 531464969 434276791 681281465 664442300 998624434 477161489 820850412 999279522 474750440 823244075 292065804 123433776 919758655 866332651 716344204 286305052 799566491 681432304 896731333 141169759 270260372 724306472 979458560 932632509 201033833 145461754 411968878 285949971 591702141 548830768 707910639 138436834 451686797 352365059 591065703 219461672 947359489 655681521 500788219 476198899 794987627 180540236 506793984 740814022 323285908 604334663 129431491 201015348 496453035 248607108 817000353 896547883 584479620 510004418 822711728 529539378 267547615 815639393 510184182 165182958 351564502 104238986 698277234 933866928 841685038 219141107 801696631 403463026 701043616 421210175 869001985 479548079 471149080 303002945 658488158 794968992 598362188 911800023 546868172 961626420 840565852 250950196 289441812 925257645 335717007 183755416 683234077 890870974 869480155 690537792 294612667 887243349 314271769 845398624 826730595 991791210 892123730 805613096 639459278 914669324 166898790 506120234 247676318 502106887 679695794 529335562 111055489 931030201 454371540 545600544 296314313 768457609 128322156 955224997 955641212 875193370 493799097 759763573 564484333 455321478 137347373 674858557 481997101 392351492 439684405 735167645 835587780 558142189 211297461 885769125 773062569 398204982 505035423 411520721 615498865 758867869 105882264 922832840 815894488 740307851 694519026 622374505 725062053 268181564 784126786 296610689 906236974 717125614 242291048 295673062 619099270 325799956 192907750 612789005 323571826 876039029 355962323 610921567 856625052 864338409 879165770 288048665 549874862 568694984 958032053 511318200 371070277 575367168 873445716 425250127 985407873 531003549 386490468 479492344 494837031 849208757 695014731 181815506 506853379 405817440 791189057 321456294 200449128 210201389 776586086 126436570 453873698 434460887 277210618 637189974 395998175 766972497 552261036 942759396 556372351 606694903 101623991 775403350 810838464 607234391 296479915 861224094 620592347 920830268 567866792 854171492 379229382 208929485 820354562 904830142 474108722 706790355 764474702 278259729 952650865 420489037 806770439 759520361 596312395 105875163 267541911 606871149 245259739 353470843 135099206 194390024 745134909 391427502 300272295 644995899 186650135 805261298 603166474 781250788 804654864 741474125 268036072 310415670 516232649 253726841 945518728 898089953 967045521 469030523 580987115 588002608 258193929 745662577 675415625 981302831 174751555 550081013 365755641 870284434 957693940 921317091 725798253 189737695 270857175 671600319 354721046 853553017 584133938 360940933 686545588 951833962 810875826 480438360 587142289 404511501 476204757 568973233 429193632 622239100 744587225 577743976 962180228 730959915 262079414 253118654 912444919 849685941 446620309 455772630 357464975 253384352 943831512 354718113 318134029 735964080 519999435 745814323 597101766 617184938 819787437 357918094 119761322 874025823 564449711 559892686 999069090 700322990 941948155 872124946 839197285 721222389 974344755 955357723 487382496 593274042 867916179 284504377 785560533 394186270 863718433 259135750 220355825 406217570 623402062 845613708 865388217 239875585 602706876 341168728 162551178 297404418 210397905 233075480 223831834 370022548 539833966 795616237 381541363 926302113 570812351 573002658 195859736 726698646 398658713 462745304 747674257 172455816 720551148 407853848 794115342 253041908 397540661 498496857 313789570 968432240 106100279 683539337 987409453 233028692 785115495 723461642 658703180 481548998 400397610 776831347 730566715 483951878 128824895 858747942 397775609 956280572 362430449 146290599 958716204 156570203 825131830 184304062 376333310 664431602 735914499 264217630 982918423 855461336 392770940 632470785 249951851 692122535 843887669 533996464 777477460 847064842 825085842 856068303 539684292 440048855 878956669 253891924 857747611 954096749 979792241 866926579 319647435 563725863 308378585 229046876 858996360 981090839 237660779 875677629 276024203 270945682 941010604 955477138 335657884 918396582 758857674 242004658 782729059 518229134 471524521 646966239 551626699 489968582 660317602 473710209 821249409 594405970 860043102 890729141 251089000 844704855 866858138 696817129 754608885 982429632 918825064 266038238 762256979 351564065 698236594 448905243 480964591 566127130 689768158 290148377 723630594 597393298 101797752 198825143 532737022 986563818 253013212 620109640 966401642 778386274 693684202 420753634 137400928 740058744 243707007 600639517 530702469 385638351 753192176 733365141 541414192 324332221 984632896 371195716 321450960 524188560 157527597 537897408 301967163 203066461 178693303 760781519 342558027 733763065 655247241 574094484 423869560 543231934 484523535 476259186 780900864 134840797 190309738 449039231 274929104 715464229 981768719 700315073 626921706 756888183 983075705 907558686 321982085 159516138 973740626 282288575 403882117 214745725 378057833 191749258 319627985 621093069 467303577 461846578 807059268 439137897 727054125 239054863 577682030 604913722 768000388 397248553 280013913 726186032 676799157 315093152 860576833 488908058 934895991 668928625 424012261 848803514 935480873 441376248 451815410 394971488 164969978 591357973 705115591 254642210 318379269 171659649 303379154 579893107 950764844 444624465 340969918 419380363 918724194 675962626 598787062 996931923 277236122 432326770 507372230 348101116 469337155 612836212 491373012 228412402 494477682 432607081 335531982 140747627 532435622 988680034 369962065 840217547 860707368 558680352 998441170 799854211 856699119 752309101 368622451 460928483 678047054 854497272 853164163 763067739 928139311 664837073 671992623 313603461 786910100 452944393 842842734 765823128 387290251 864182913 189600236 594681678 151667721 185910097 267445370 387316618 181334753 545661130 982270239 382138559 495099105 492425116 886390341 972974928 975778283 457937484 426803980 995795809 433800868 318413257 127147446 253712689 553198932 605186338 284828074 990056121 762721508 913495642 353331390 913390063 848731759 641335783 176942630 491705391 707292009 578204729 891904629 216399898 596124852 577360916 148071484 594896108 277001222 694815128 359062467 499700092 642367351 954482273 458471669 174956288 873989226 675941865 760823854 701685063 545214868 106685821 397617334 578880902 966368438 942159261 776834032 487876579 359606537 948045223 887191016 376703329 494772276 463438978 148347493 117300246 317106832 414220666 444785018 349966446 959392914 596417949 461565698 181143737 491378819 868180421 875693513 482329932 633376406 315962730 335132226 889383353 185487895 688772383 928398289 662659268 281735394 732285798 550032605 438122672 254999241 894608614 283030111 755673386 680693812 890446090 315000092 378329749 762766011 859575184 637124995 885719135 433102329 887557611 393430532 908568875 588224109 983465560 609486977 949391893 682393494 712404008 378250848 701953926 708855669 618618001 315208726 461161150 347413594 377330289 211274271 950106555 794911173 396605973 324175548 963966226 700926082 646482834 816908840 485820993 202279423 771830512 908853520 200078054 938482546 544119825 324897919 679517736 963008097 134128134 432701799 292421695 926939714 343078734 893146173 146949539 241487566 728199779 313825686 163276794 221570757 715043795 644889792 219372645 403949136 328565669 719838921 618717430 919349396 983965320 556732736 870585869 867810460 662341046 134642949 698766653 126940253 147695782 161031806 349772269 522466989 767086709 493569495 691036886 209062370 469237635 149695568 387326768 153902613 349895919 312379333 910253791 768827627 221318692 912844361 287180432 489610807 254475719 377038746 184351466 324018633 720991088 920873907 805025401 180097782 637630347 381183766 351115980 783502868 168748012 419646926 140898862 211704081 317624252 581225514 730923866 927992080 924137175 711033487 603743866 894081024 645998833 205031821 843076432 981313280 463619904 797853429 679183401 428470530 359739282 681405033 483926441 201436928 137806616 897073127 537943742 792947067 312715778 148124385 903430374 983663910 398022149 715202774 854324844 412132573 212318045 531340688 778441891 900211650 206587423 831155806 558580178 629690473 841556596 817482319 763194234 284469925 595655918 473438473 905622700 884437253 997609806 476135382 227031425 956303546 587466892 623179721 212991398 367667109 118926084 513270853 830965336 658966305 700242781 396020840 633040456 835031588 663680571 427698071 105501270 587425372 920296091 628139773 438452566 367202578 738438527 652727808 762901807 746939730 886749536 858687631 878950016 169804204 786222329 232662082 153705142 359476328 148488432 245834481 541085869 493877921 779996219 875904340 539226963 966290866 418360818 498331735 350162406 259401270 728521270 328780945 520452377 489201838 879759996 981720912 261251000 436758527 745798970 279715130 882936028 661134013 325471241 259218283 174962134 873921662 704674113 881559319 956474859 157626728 613377173 109950121 244367814 598072730 542293947 244620187 577589507 840619652 242419526 218371973 160919821 382879447 597105835 971627859 921957533 320920922 112478782 497650105 537682764 451996115 117826507 319435517 270773969 701967263 756697691 607188965 303128579 928553095 841585591 172795441 123548837 363841606 254899716 794885688 219382001 209792512 323472937 466650347 750310817 603859891 373468168 106764839 432682031 118132493 385643864 441059978 965557883 261094784 165572627 894379368 537597477 484024235 861699228 537883111 172355965 154721557 804272842 908497211 380069783 229137537 955126309 518983793 226352506 688234817 494031494 872905030 985716782 111652225 320190847 118080105 114226055 461421822 565263640 783633353 614043497 510399770 820864330 691011941 631917169 483948413 363427805 608129479 735607448 120146850 314869376 971585440 687629030 700146683 140640381 123502027 467033457 237375554 524330391 706034120 199152427 346302164 236757996 629903682 902965444 776045319 202505686 613765923 115752408 973812801 704906261 933330531 293845288 120787212 133983138 472671813 767399333 551308776 747265168 819111199 614642515 804088418 790625265 307464659 391739933 524471914 681963632 125013398 773120111 903694161 321089261 611267285 520357194 673331797 621542695 406014699 123295331 674082569 880883340 756841602 759112779 785789076 417311594 321930044 815304483 460389792 112327830 213926252 611601732 362284342 578528978 422090171 529423035 359040009 989124987 436286092 209606393 475412946 930593582 779840471 580038986 310443862 666150416 966295131 819305804 300185223 453750592 475624968 103403918 840214654 851369907 788171555 990635727 556862504 196999051 541934162 471412299 591859209 184065439 511068945 788708720 867563253 414133243 678597411 599123585 863185758 147165305 771955416 321186303 754430520 976845515 142835752 716240389 661889134 658470790 962414745 374246064 967258814 196930624 224035735 508562708 613744925 199829039 642890535 200306768 762911101 879989775 816567641 535364175 804990583 671307103 234235043 272631505 595131864 610953619 163056895 601491096 437071123 996887437 870187129 195338356 665703800 491444731 644202241 247168898 828131691 123428303 159608434 126057037 959276917 464599856 116210942 392852531 301872589 303676637 517610058 658019420 829440269 695798136 756928772 693941385 822120295 191558059 793497161 510558837 680397277 415068796 151427568 903492031 360216734 249771322 843872097 412567086 282399730 638094830 105669302 898996551 579292276 501940995 889183466 278605131 325012302 359574776 664574887 800452929 221232911 566386494 552570565 802306559 605652116 795891976 932534210 448094263 644718982 888690572 358294870 364413222 587698889 415099595 630899415 542233752 289131796 376098986 317800706 951588260 684477921 131143356 544100487 665975022 912434450 257114847 463974600 787230939 499259338 199504555 263634674 983107259 664770548 823055142 836454491 968105443 373269386 578142874 585830661 693995878 257963656 273552532 485924062 397970085 689654956 194597376 537759487 675016299 368069501 316212696 671194807 484155859 499724412 561247363 384914893 408556379 354248076 444811469 141448400 806023724 977664330 487224322 843405981 427778181 452242103 591585017 651308612 359188391 143490120 935489280 536865614 177881995 942827975 854214151 156790790 317964589 720771749 812547526 766738577 813335361 267996998 354496720 678435803 515884204 511709703 475170739 726536378 426996204 960531375 674175830 926495370 940630410 371971427 852112778 613374686 557812085 940105648 283730908 911106180 253796112 416210736 353599222 736957629 203094015 964031698 940422380 551049025 377035157 103386541 238282057 430909434 833021787 433028651 504646219 515918741 214025704 358936827 264219963 828301975 957617609 855305927 339045331 714054026 304869250 682574774 152642573 993037291 798201215 782061256 870178684 759374041 654282530 706827538 593282507 867508626 533766121 303409495 223171115 363696227 311798431 984976090 680830284 786957293 860949326 906952911 862791930 885027253 478561291 549832946 378167326 103527968 553303797 333752042 335838187 682187023 851030299 138217395 179055648 297326774 916283531 795602377 154361933 900344373 600059008 320530492 140858189 922767374 414588663 468018671 451991234 502445007 590737774 644695013 926962771 149334819 432846200 305654842 307041466 819713877 454431149 613050230 584216666 723718995 913134318 207559037 961213437 137360248 685401681 303844370 424792140 292765446 654054070 554653977 721716335 685413323 463736114 583411217 774642927 121461705 451709447 535574232 611389435 535868957 555731543 168667751 251137407 274822076 705615284 606036352 164599060 157523895 453401134 928281816 620462026 265514018 474145593 700450205 527304299 432055747 331144002 536979235 700056863 368142080 313056120 395282517 885955066 633778437 884270739 229953515 496013339 486807488 592163386 318265813 177658047 939645170 201340404 287172093 942275382 287195777 281396611 540570400 613961881 985580593 575632682 838678702 772329197 550950107 740141450 213735989 864760296 947181143 684904019 923817180 205625899 344123204 616162598 394061695 822399320 141405813 732462716 260829442 595445467 100403364 413636649 437762255 303001607 175722055 810199835 105739821 401740476 844313443 408619582 669499081 409499923 253073318 641964047 784697562 553099284 973451858 720748880 543549182 514396450 265491241 263765190 251902144 842483440 954067707 978095327 905081741 231729532 583814891 195254754 254827146 145593658 930288613 586143167 796339437 996030301 711496951 846202997 989635465 239093067 450716390 608443151 510688859 709542100 896286191 611650062 580086123 968383467 691975068 781185128 768430287 769294523 856751979 799091161 127291730 841437063 631129610 712949688 628698630 729501415 651411702 499764824 835986117 861947915 292248282 238105128 225895572 538837320 759349012 758072975 864688639 740976234 896895318 103726094 280806674 356387983 681731302 478965522 542277658 648974505 833788836 628608680 782109740 810266694 130205460 899400165 583987788 398367008 450667742 812501129 624482906 170361741 202672808 702269406 684322470 209808348 589837833 566876680 836670025 663185828 773407796 811426914 857204652 885897525 759073358 666324269 934891188 295907876 666855271 276196216 868725767 907534277 238165227 238202709 389257327 685662930 270509881 745311577 935980889 571267521 713939816 432773245 455908418 678274949 670385369 916442856 345980385 575833669 310190996 369146569 415759966 888166037 151856342 669363409 288661062 182469921 595034022 756575189 278058874 946286573 609423391 376477583 484774680 164511214 344090679 389925213 953711935 602920695 234395890 348213332 990610554 848446894 118330670 741322319 695613406 605618481 135787636 459324466 464537116 325791622 393514429 977451105 730993698 530884905 109262443 721073329 810513529 861308257 295855352 596584551 599216835 450197366 184034871 151042470 659529473 398592573 203310520 645368435 813258735 372317638 729245856 962207960 639668837 202929459 437216198 342964001 549509510 946731879 605715838 147460224 853170946 818746826 390912105 242527915 409244424 139816741 414559578 672941512 465941592 797822652 119344513 733671797 732092393 919485337 462036965 751103224 767245106 121469057 739745483 290744265 990629124 147467975 685312919 940878644 505433982 526152905 542142692 148391241 309338087 431514840 334039898 178825066 202659389 763985486 964901943 749249179 837549053 821416749 584711578 194533909 853747709 775021744 971241966 576526322 833037738 112576959 820729307 280646476 703224072 733347232 567596367 504404487 937371091 601926459 823508613 500011240 467352369 390157487 360559090 165398244 857751456 778511755 439520888 442582858 893880882 935652127 743310547 123789520 937214983 827351526 716458294 732584637 206403723 315168986 435524704 864411974 866119994 241135284 398840732 364697004 958823664 304648213 414329031 276940822 170838429 720460740 145751898 261163569 449159564 498659666 715472127 449645758 924798849 436980119 458645551 760674924 818256077 174619283 815206034 296100810 320747594 137298136 816034944 108934214 950818550 421728809 385457283 547137746 398401670 497491864 270432599 244244199 176412728 750547852 437953330 736918974 181906929 851317517 959363763 322928320 146387989 948515090 762222023 600568338 254225888 319772170 398685287 831705924 168117848 813162215 588999749 158232872 330279188 886885168 766595639 462434686 227472035 890443190 662742245 765530251 569483719 995427826 749222793 190249202 942231585 266932149 938041330 926311049 996123547 635002050 131837892 181240161 814214209 718398870 563815488 872981029 113840438 585737038 231717563 624860318 717617157 164484987 806231732 593059218 947201239 117917864 425358793 922827381 477548747 190436417 914183580 140267265 214327204 268889439 291582228 364822307 228628331 252986338 326509311 510405232 969356340 369364246 336469179 758376127 735677161 334098716 477302259 338483903 117620767 880389600 131761039 914449059 270830529 722159590 307082833 281068111 382167610 648958544 523981412 492981752 840361613 440788935 258770886 969826026 118047641 863168349 571765674 200727369 909704619 297549445 456389132 604391023 142708367 648892484 952490824 132601908 545580129 649884313 566337925 564494811 705436255 426000365 194686768 363411237 451628276 788056947 297940579 155454407 203333118 261229580 434305703 390576051 485053843 241242959 558468725 952267535 758141266 558054442 840716945 986619690 752399157 773785312 148895248 472000934 114206638 757241432 540172864 845838848 631282908 801357353 586734733 562135179 169085194 775882560 706097950 746969638 794421323 446550437 301463764 386402093 510056060 343204552 599755335 566390844 832459893 487558094 632596008 483534255 594158925 213272809 983923403 779501189 741095830 441837840 508999305 959882955 527742413 914313098 376637133 106522668 168947389 855798936 366549967 255546741 588201023 565700241 777065489 483050773 175017331 926195969 543176084 764892484 625082089 312942744 880502321 381290701 468954736 826654256 894112627 871923525 204872219 190434064 751028473 397269190 623717599 494654824 566769559 297345315 322351127 411047169 828578101 189205903 413161238 259637491 624111206 520438159 770185699 630148735 894531947 376098712 470068216 103028673 630901255 359822367 741181846 684811981 497306379 264053160 309025383 787791650 883780276 213876721 300455905 701225810 956048158 298320322 336307190 649375226 769361318 819183631 995163426 701070210 913690268 224973524 202915168 153916618 780678633 711615555 365258849 971738561 206370603 725784888 732494407 880372981 746838249 822768759 472147947 713855326 345283010 315792143 342070937 158293424 182388600 789048082 919697138 973554275 577890368 633666079 133673464 608700018 842559259 648326695 623520687 938939316 909443693 157230887 722133441 413177492 854132473 123561325 959095929 566961559 510848528 538624819 843521971 863943902 254537636 415637029 575471622 154404715 689272500 528727813 672088751 894245409 198419086 332640550 167036649 857096428 396526631 894062271 901529007 497224441 415619143 881433805 960123168 674922658 961806624 756179843 605723186 658271676 414552001 945129069 496740222 252173796 378915450 727825061 323407898 891257955 378910557 674715096 228952148 562606604 146586014 881270806 402081127 766649258 291539184 397146992 796159761 275446553 517294555 712523743 457666479 714644790 715007237 890191494 687719456 623888287 790091370 253273288 103136767 264221549 898105877 251898040 466378147 392155046 538284714 443451373 128045372 352378236 891871669 650764655 804803638 414701866 982823505 427322061 996626834 463259329 552478972 377390816 187748126 565417428 336816899 802868303 826965888 186462561 195477293 686331131 590194141 373980245 806568083 688642047 423956539 450901437 300614621 255807943 307327404 548892714 816202398 766893559 612393819 181818188 658321715 962561060 214588316 142125371 884482317 976286374 769741117 565757807 687743508 570266334 737000385 225733574 389435722 972745745 806416760 653245925 914405371 650466880 149519790 558638718 156611650 764954018 506561978 709548974 232151518 410333316 198118751 230836211 324730818 916973154 790652663 843608816 104691497 354083531 746093505 355168008 904797413 982721616 276917234 136842855 568567008 653381939 279333303 671779969 380557524 174525393 126229838 103481229 510162051 136271898 949795386 631948542 431281912 418425214 269473382 846527835 193129285 404686464 389620268 237620405 582184256 983190038 217544018 192180476 273410468 543748560 288062002 847907431 536377416 973647516 202637070 600158254 164372898 250936244 531881826 114563604 880759445 492812179 435438990 117468038 321015391 723277286 677651614 877090882 621842452 583946883 805209979 538555451 751409487 748833584 796627315 624767518 419745859 297704228 101191215 795036747 260905053 388212217 578758499 636940775 798831026 501341910 877548782 845134705 996411299 292956655 889730194 763887930 583194889 264312205 500896888 825406238 127448463 975404505 396120490 547565837 819144044 564993478 489792561 184153477 280405731 318052215 848085771 207799502 673433342 924768017 101400976 139379480 371618347 280073913 291918192 872927512 982409366 450967574 503584052 615881821 590246838 663799191 890197850 746473013 963950666 962971143 569714220 203995837 718734369 666223099 357384257 919458601 596061503 351355062 922721704 189897486 396236186 949636801 403818103 916425636 758141960 338189357 917029000 735754903 474659375 599235603 569389350 944442599 700331380 933979543 859168964 561772702 438259007 164042083 240192035 672321625 299540341 532282896 631402397 422457819 844216123 155236265 220459478 375301425 931314444 443401499 947748373 120387533 219510420 656810985 506702832 154086752 165845472 391736238 638518864 332089064 823696895 324977442 931142402 373972313 905683251 684161999 324690659 190658070 271534568 867947949 520727926 592751681 481894939 687903805 870973579 909386575 868990533 300041302 151979173 915252375 172122698 886814339 523020957 184425791 281459944 801372710 549799746 186268725 210169093 274091550 822447677 876623376 796509679 763256514 919180475 298183254 388688769 309571371 765199683 370226823 273520721 877946995 160401336 837669130 151780146 583987721 428428355 120004647 706160313 672150609 899209269 414169738 635895384 933282529 246162362 938867014 330293191 830115025 883961221 267849603 285431861 496733268 168502290 427643580 898679126 301045002 129580682 685196706 127357811 880785991 543533039 416898024 397283954 606159666 530669162 105797503 295934372 688735298 535931918 856895081 973720518 948572411 671902453 219693502 872160094 480715908 150783135 390343188 797790628 894766413 866306498 667090941 467028271 541578420 196303144 403694852 177150270 644520065 558782347 623398523 444046154 485980539 173923350 746782312 558206646 454869123 108807768 729492034 925054099 741013055 200187099 618327874 555150177 806298373 728134569 415078711 206514481 128082473 830356004 880463065 932025835 562799163 281828064 345312873 779809827 647561219 770152033 664594415 307202255 195811032 208840718 210795442 615393386 573055606 485897889 458338619 650896520 408835541 628625300 280793554 603129038 460405400 223686690 647986024 651193966 811606121 909562035 258741163 308314390 868326651 453379937 119733908 632561800 553293550 939161164 523901634 379062078 964611788 798264972 240690072 922731482 110593883 763983516 771366194 145981693 464001572 270100516 862478516 646090222 531315601 396124832 227379768 976203467 951505746 215802825 674052296 310983818 763770883 410258752 648714788 964095467 658753576 152330498 133225593 338980700 711314690 141791025 639170489 480104397 652577901 141219286 227867898 674128898 578768085 340055956 400226491 187890310 679175525 425191221 776391414 734350347 677710184 849179030 490570250 296229783 997667853 357055499 535251613 981165569 371924906 251508967 812075540 459256341 395296436 459403630 927819961 794375080 725502610 359385065 543869979 367983369 610766404 444613568 764482824 574863834 896323470 467213069 669089014 498529936 352867697 385815424 579261343 126100359 915544851 364230955 794244151 471961526 751401380 274147258 885058271 181588713 530966206 545584035 828410873 452206475 734851853 194263448 903372181 907134695 225755923 766426181 291518871 263127258 343215381 710983759 828644516 936475935 563869716 621234743 661013573 337311832 521900532 630344910 535185344 237861482 220364382 370225448 345353725 178911360 652084210 446871069 615836968 586530667 949570792 998453337 271571571 658803864 475405653 927327260 680424675 415640256 815570622 102753301 926269597 923629004 828469811 634840780 406285111 267863771 521694876 881359268 561118364 522656519 394698187 933284439 928310514 694288469 146866069 865824251 101492966 364401336 504391223 158707706 266880171 353190782 766811975 123161905 343932873 805546320 294569449 793879454 425740372 684453509 878963440 374964872 893982132 941545830 891089002 892816100 235740322 337441163 590135919 715101453 830865578 579915177 914649992 843542663 939632297 943876512 347203285 322823073 661027661 671515939 769640524 201455422 686155789 885438795 744117913 172809649 244135571 786467947 823947470 342607793 981119699 159394445 841150169 809172175 185592508 656073383 907476938 925518269 485056861 866944192 651932481 310096889 747619832 810721951 421492219 475997340 196503426 725319161 304611619 515432987 573303378 158147398 113200235 818416946 680983889 962658247 636524481 849622503 715719031 912123442 251241616 669121910 151426678 812955408 403763918 483047958 107476122 370702413 759160232 762280699 415601314 286276621 546100479 263603382 750217436 698275995 918501698 845951775 948606487 642127836 753990637 113560016 715678248 813915189 317544951 952843632 813533438 791528157 885081705 767778507 615211690 435839427 379071276 843909869 506940330 675694661 403155743 303393905 229499557 164114720 880082705 116913774 390389547 109087436 223498297 181394446 105689214 904235012 477270599 686312462 733009872 118098603 370163586 459004925 118380182 596687143 598263720 333761811 309613329 502292502 310892490 562927843 858485882 683294145 124800188 592775059 228042613 388684047 144133003 908719243 693689341 882525687 960282483 686463360 476854181 437217118 343078082 815309627 110638458 319740560 201491359 394389141 794708497 933249412 787356085 154535827 590763680 624684808 744280893 557367713 929354977 422673579 133131499 189045324 784918700 894692647 956847740 751158857 661072891 460792341 640784184 720442103 858830445 597077163 909487258 928411464 667517604 475810613 808047330 829197232 195947228 530114495 172719369 841761538 438859820 577707475 563018514 733054413 628413892 561430290 610180463 956553125 513986825 423642846 878630891 135737650 652594001 603947338 860013101 981807334 889282485 990587252 690129525 355184153 511512731 103590395 669654249 946614815 202164050 501332095 916376908 692273340 881657367 113179505 375475617 948620644 340909737 474028281 392199945 322231249 658331698 446256548 805650935 637732171 395298712 232592376 881625095 258844963 103288998 859142942 394295039 936404818 936083855 112350798 854831528 612026647 832761644 223673897 696041269 718904675 105611593 424349994 211334543 537753629 284331830 626464071 628637490 837727284 228997421 503641241 476475294 132699772 499119389 631959009 395220052 928711619 578847893 554668392 930189537 782577916 365364001 423050437 409816912 509672115 964998853 187336173 215889023 118454619 475335591 659209430 797287920 231074308 691233282 901743073 464090446 878621413 559968923 391151105 782623349 572798195 282114441 639583516 470893189 935511526 603510710 654841294 701595240 637926675 145259353 404870997 628378765 160387535 934672856 566427627 177728419 296416266 585662419 640920253 565063697 975449909 607947612 193809272 725726341 476937565 955712952 437092097 867366479 863981280 536599232 717266396 586838024 203502248 363285585 692350267 121082854 474291137 698775106 967683529 819770222 779049111 264453806 965918721 101954609 424774362 736365288 298801395 557835366 234737617 552568277 264275279 521519472 303784753 273158159 393422309 198534134 686180576 615517131 458760017 728079767 858772438 796635803 534922471 916704240 837972420 923110082 411606501 908622581 661719323 392771626 182723168 849458651 650103987 824866063 377609397 981857706 307447743 241475201 305959574 718709762 730882473 854073142 172477937 511429099 840644462 780820785 130299820 403115809 197255944 357459533 675715499 327242803 684198509 808368011 874938896 999267041 135097238 221352482 281638183 267666383 291338466 729523350 818518875 608751834 228885098 412793474 285068197 261886758 732949453 436787588 275251609 240897948 714516437 703355191 340306922 187368054 479785232 346570319 372710421 234933216 599130009 635260704 303661992 310705704 706780054 441262508 529932997 806476168 461485744 600260201 926993716 209355907 876198652 564249314 600291985 880170586 593957385 219859445 367643937 551148088 796927302 110127504 727321485 939785217 653062759 211494425 468039757 359073943 718456474 406601952 544583708 638188020 451948585 728653398 149577620 738586628 738073804 593150614 501989380 418397123 184584657 677814873 926863330 887671105 661112133 290599422 581277446 485164356 583318894 930947397 211494925 293329954 919846486 506231921 328211615 619579911 309730189 944404735 996393291 693058966 546083850 673635224 836181760 807974277 622548963 761974419 700614437 907789672 162506956 919147494 342794101 278886898 406757988 944733540 745157879 473066165 277976886 133960472 268955064 798342808 349052759 902571093 590535875 429289583 111744456 599595600 550942630 360123359 844654555 416771323 347883197 972839338 289612209 966763797 649747722 703796511 894611343 352101518 592714461 157243981 899866599 802232567 279271986 691378982 908005058 413528694 463915996 687298211 185095979 223259211 373564831 738697091 427257132 400409457 261809607 977545720 174689973 615939710 468212660 192207371 717494766 551360462 237834845 357837191 171543482 290681629 162505247 693607983 506925346 266957501 391821203 759022842 619138942 990654707 961031709 310236933 527335337 778656489 604420534 569752329 198163306 568721342 863808190 943497693 181429197 596704668 568942481 685974505 548609695 151078314 726420222 802935616 629661781 345792523 713087765 889353270 249520669 999658646 696367555 161569823 318596472 430331446 722161969 921681418 102999588 554617091 141811792 627577047 438060403 893916303 189698909 947848630 442303403 770527560 962658591 828493733 255018778 622867667 160024615 116231683 171107869 369977956 769385483 862293419 177313762 602004877 782411114 513414144 288261306 527166057 933641642 690350121 101946173 799510071 241224119 678621336 701188215 689556501 320789913 635151905 326414262 905434550 321071401 478231164 195500277 989638490 521991039 695559876 927532794 570384440 913474350 946601286 495751712 389569466 554536178 657502833 627710937 117839067 900851934 291051379 897240096 540889674 460748077 552305026 857319167 151824852 798682519 443756363 594173106 756904318 122028057 137261793 253326573 470151644 803798515 790432051 889861248 130361965 991704579 944802103 102766722 174066669 444749979 755215275 987945775 282014525 766214051 255647130 770209900 950629607 622659126 415667150 259606184 175109752 616499146 262684656 256005820 705244715 836189941 917729623 960520897 491295470 983077045 798543718 331463574 910937496 122526209 398967204 125952589 362053436 854439566 327194229 769215530 321444037 898841985 427585541 905610676 410321737 939271168 730338129 913198200 770807674 714824391 162095178 565559317 456244282 771873330 233584392 151119822 926356029 103288326 112557306 191337090 406028408 458482167 572429829 233121415 149350873 580828835 375672189 893091140 142393803 480705097 737279076 911889287 937594275 407383917 875124571 114085245 775328185 479310425 271536426 758772289 718456349 639277238 874496333 334333048 689485562 973610145 170965253 481838290 678773870 631586754 288491030 645569531 874284780 182775279 430008160 486671684 453444002 414637838 621132018 677444678 970012321 689585555 665832421 575855447 581715529 136576483 347261253 449329440 447108507 757942339 671984492 199600051 652330493 432022686 118550912 128166296 308403966 831771846 458452053 656361380 867975003 597967931 773179943 359865101 869890427 217794914 227540171 239886591 324401819 143850964 676929267 704033754 198901563 849611302 779744234 420693819 736262882 900860784 479054735 470809966 971999569 635026412 917622297 624243896 571110963 676473418 728643685 213068324 252622172 826108451 917545420 608380838 425763816 911209259 209424228 687949346 368316498 748629139 942731875 944318232 231903472 460148528 666428733 383613841 429822107 103787371 503398979 474322827 995733503 622908662 921961169 491375595 980370515 398119229 673194678 216024131 827921768 558050676 378230781 219287227 244960151 144018596 381282473 986374375 829492879 865051852 719703652 860084027 694751343 299913695 478306063 155476745 415133472 639444012 815611070 925207149 332028391 134032647 264807794 620028415 796890554 349950972 559627288 934826095 390194126 367616847 661498488 696226049 172540839 995353392 780205832 895839650 107891163 329553913 110357027 630931280 393939265 584909334 334903290 454643845 515861930 882174006 675764920 522269724 997186624 447176149 603473968 940722248 154454832 276170569 652928311 451492868 425024153 419626365 242487313 158377148 828712443 383121290 898590814 329198566 843031837 565665892 955266006 258258831 115074316 884150064 405462548 251226863 369568544 356975870 185208181 916863435 278903399 741450913 482907564 785600978 203554991 949933797 893380098 386579072 273054132 698263878 419328180 780303957 848382270 260008862 246295372 740874434 236833838 438052956 772210399 880731493 545938396 511312888 591989049 998134719 728767122 780751568 752505539 459808208 580154388 102376699 105566874 404424816 842262240 195926664 969970337 400383878 643958898 441327741 709824396 817929403 280649985 741217756 478044759 140207771 926809362 298849670 748885432 872684608 141951459 443508592 759232710 233945821 525407418 188429363 556663551 240523160 127297575 964570268 136527883 861789056 210528243 530713474 342886755 437226371 767270617 986376386 768427997 797287146 785090615 364883550 116600912 582232967 480772330 947890554 159953405 184203051 713603340 962124852 526310362 688100693 667722413 388862971 724948429 779069812 937247542 622162751 994453375 956994204 992875854 969488343 613985148 842340330 819861121 263061983 307240874 115528553 694869658 152329496 669658201 428055004 678565466 155737740 926243518 164138742 229837997 359882453 576671965 472493338 633509064 525440166 294023508 577741585 594542591 426206597 266507790 638291626 987407284 517836181 869496235 271888479 766607632 930506216 915500431 474535953 804975961 344806929 986374172 363388112 752970790 411138040 560710837 596984660 182135871 510449022 186257326 679088487 651565682 362570043 690753433 538559324 702051113 992852175 483513665 703858459 522030629 171558445 502959379 170982939 324961792 788609425 675307825 548999394 306037462 557084748 782841642 584711689 810076612 669842211 278358853 333285065 972178145 233788711 689223444 257022429 542276015 523312355 345543213 763564480 681811619 792309799 341983794 198444396 881018761 213393521 737842866 553068007 535261675 280817648 779436371 901682935 920225917 366292743 757880908 311403113 868878449 856007971 758855427 782442645 157208916 418541809 696007779 258519270 765708153 739518195 784818651 674990286 349898618 832109724 281339796 142326954 610525785 188883050 315296486 672635680 911793809 640489436 665772836 492369406 372732949 761490542 593349509 175721045 763123067 696057069 127990798 219599868 761216436 748639247 300483456 985568383 701633471 396331961 554163393 356634844 181166642 887826387 929878032 120648426 789612000 553221628 411768062 695355023 344063382 445715653 477861902 752710225 350255836 319866146 506280812 491609247 753815742 398942004 332222918 899544569 535816681 229772033 823829894 207644617 220890286 594887063 486072666 245863946 754975812 599580112 396996462 809734791 819527542 595223420 360359821 926162870 736901081 893728291 351866528 320500293 818047851 658016478 512598609 678647898 380705430 211261257 400538631 806662894 765748738 923232393 532837848 744489792 873195102 540120757 527619632 748845254 154428098 514668188 871030903 124563612 354971066 328177813 443830785 828746825 472637574 141237947 858704448 827119138 359712384 595007177 917173524 782951988 443758507 176926720 383081420 146941810 913639112 663611715 738575909 372806224 493745047 122172111 211380749 805661052 928092652 459304316 748348424 702784412 548345535 282502929 305651474 964052527 532329125 913446201 367594738 284137134 679801609 603294150 617422444 726573666 867962975 477784968 613511411 408912534 823371239 228565209 632549892 600354303 418224015 231382071 752215695 625126808 243663375 999196207 261646133 266920090 406538906 443134212 323312915 846514946 161513903 108267727 955090942 992860481 251862432 267150413 726274092 229842483 360980879 991436369 697874084 776778044 184480315 328374437 775071588 307144625 665700991 213920987 666768522 676261609 466569751 515150238 634573246 128327159 302760201 667490644 158119746 852077377 726467159 698092039 414751489 689007797 300780629 837549363 383444605 571086927 468083187 546634880 117402571 246427076 600919563 578999136 134191015 805723277 195336930 417360313 318144034 225416996 183966663 465882095 246700492 281339152 683302054 670624847 348161874 192452610 106929094 784981560 352602036 798744325 238591802 981476630 220347881 802374908 126157267 220053931 843877447 276267504 122139813 566231096 817202412 848713970 320326475 165150371 223454719 349917346 585112410 592071435 140043704 524855748 382163063 637860175 789220513 265141807 867326138 972116352 355560201 908552999 480496331 217816397 710618927 399486632 960258028 211464245 496230781 454491702 333374046 294037208 547252092 588433980 202097477 706961051 180441347 166925421 921641341 687808263 886978782 409645821 397642894 594440884 489140756 335088078 655480824 784879734 832346825 224159726 964285690 811461542 628720567 124076809 452307397 814511753 263477141 177577855 687877802 790839874 982924973 836389846 166855105 500456892 566532147 746133917 831710497 313196283 297048984 311674946 631500130 477222113 239530790 786432729 448874045 579090573 850590182 575988318 946033222 970055392 577740238 176601159 688675625 218057000 321521969 638620593 195173205 193494995 778424041 465759390 407095922 474418056 728799829 574299998 648016309 210042313 908962977 446139858 980303705 983809863 389972938 812468310 774419395 751036578 866538467 532065902 565478848 985448110 547760842 470935983 261927022 352992043 957892366 498268549 295574848 966745967 585214246 328923964 574054213 278470341 964161382 526185365 869548143 795905548 299298312 294274386 945977961 901392007 483998892 282092672 585670766 979250265 179205590 302100186 643601127 919124813 867322285 231801114 438421147 781820656 884948914 278976626 284142113 412185956 145297055 388755834 842294448 167206646 415081243 590739123 476643776 374692496 429360344 873373928 141432166 691130827 620965193 271836204 601556144 299311386 871975746 819396593 202737304 240234578 925006677 534198597 959070068 109198366 273389004 176649618 722038008 334757273 168211525 575605437 221657038 790785581 157245263 446106312 207306191 748953727 190222809 805711534 495678160 633425916 995962518 513179909 326762708 403196526 432938567 275645624 983703039 153259717 771557884 278430709 593086988 219259689 898065811 296714746 198144845 695700808 600626640 708221968 437204108 480664008 269314105 497271715 707060651 506549549 823110810 980682007 867537228 165098580 424147609 447571604 174967423 416251676 400334283 115247474 748516420 555686635 523567686 949723130 474339654 810190527 738142433 657116073 640297060 509710311 215414170 988756905 450543425 698630055 488455055 677020490 130878661 321532339 531914784 156665191 299349713 751963704 548856142 712330051 242013241 645153675 663467724 693583504 796388738 509826381 488715155 700929465 175717105 352059985 824543830 422989634 329003129 518611000 104563316 773039790 270486399 678572718 492734385 606539015 141443846 307471348 676458253 990414469 408739829 276395998 369637633 703144351 668748896 334744748 214541775 761743532 255956379 324028378 996982610 169518611 684829875 301457015 167973015 491302735 196892915 762376187 849895818 617479086 524549147 677361924 274129097 433694186 209115277 157936140 117878862 344275051 859048458 982674614 659081982 320954923 530786332 320075602 108212266 148437577 713780781 732214007 305881293 435184775 360844257 679286352 887369091 848661235 152543170 394308742 116599474 696567398 726958666 377322678 764508441 196660354 849968057 772251017 347185439 734032760 841490316 728482471 549299778 111149603 447098994 617194076 974609635 837250814 433879007 991197826 176236179 642995321 793381088 941140261 524193881 482994913 959349284 520982756 465095135 674373032 926974370 880602066 424573966 349412929 932624135 374083596 428500093 199539609 663426466 615493680 309846467 453075448 384213480 476861765 736485800 713184470 861434505 967435635 550997000 758027095 454085357 362006638 681440239 227680517 539761697 992578070 547329858 782316318 100583521 286758606 765968284 379955799 395842817 329656246 535381083 973460851 476883028 374196971 228610875 645267223 639645724 670002731 569896412 220442600 113212587 983111598 298189187 835329681 273020745 696943847 759170302 714022896 918199132 906425585 175461757 592644944 508279025 443174834 715285394 147930103 574769699 993595018 207196780 558511118 435419198 263087306 530065981 862750936 887437466 574122580 115169837 742802840 785102450 957807170 737733750 571872849 337468498 974479743 563442236 948144227 760939622 516311646 837527565 134246676 984735809 134191166 517290051 994893739 282609310 595014396 428734683 575443130 794590508 565481493 454408018 165426830 523408627 623823676 928164327 683134664 772892051 703548035 195499601 400904387 213325073 485444977 701808281 945227103 163100306 272931266 400183529 314324404 829314150 423314516 873154710 900464016 290462573 462467927 909422650 635812701 900556519 958307241 996938525 443639476 586351429 129837802 859726194 612574499 838135200 587358890 512845089 458318664 245811916 428415406 703834375 949437952 524416513 944694155 103429491 998399775 810907010 331971725 934519529 873674312 684096706 361471146 685239524 684605583 771612363 269663785 757381210 426781701 761505815 367304449 777463383 874666922 426340421 325678181 895418528 786342903 690452854 249794999 125982057 257362597 352911857 785543670 742019806 251367640 654361450 203839620 449710788 256098753 363353724 105011320 389865128 249185300 131343056 907849670 532277027 800223062 861189826 567494004 562474712 831024126 976768272 496114139 377969866 253864242 244433858 398930143 187389099 471305518 775634684 961504294 463926107 537284952 957403816 184175426 182004925 958091865 270472854 749114814 289580419 557226648 134540785 602390993 963565904 501460823 591607247 814152507 361357545 244480945 621453345 607501298 607681473 682723356 417645414 391669762 497034853 124450412 954220945 923418612 169305300 977116873 877365753 115998438 385297157 743702835 250158243 430085042 805716285 636181924 457929070 673590911 572092145 875294659 306199329 379904847 460180225 877058404 746685988 322063828 804104105 876776852 476898845 427507369 336417276 666855684 844817367 591447903 853104365 824728217 669429585 812385924 315742274 469590414 754135128 134743014 925784204 208170817 992516150 481382100 641675789 129751846 932973495 716340233 285206345 815404678 466737899 512448897 269304063 918623680 628777944 716777506 317474476 211886124 782320180 888401324 941970206 490634736 722380995 247196886 424489964 153402931 592963407 832963356 945533389 528993682 997485422 326556628 576844092 984775916 693424061 768412550 404148598 711534795 395425261 188555275 283078714 878854471 671675349 577161377 164350380 666036636 991288595 366305554 735130426 242773472 748482040 970192059 902831123 322633825 516592905 825178768 906339184 181173494 217780616 316865399 643646693 701606410 863771266 604999394 156310245 147925339 983168558 758425026 935143074 860799926 447261028 131640391 142694014 803557421 320194597 296049517 434630662 640556381 663486797 892858728 997348614 895754086 333065689 259572660 777510608 611525596 407153073 787635419 790866159 990061921 905139365 804708147 683940004 733677870 298659793 290034562 187917150 693263613 916500501 725072849 713290369 450860313 107895842 236396754 824903825 884034941 576139583 188484704 220188993 916497360 542643036 644728900 106696321 589736792 258177817 319983525 117460417 664362992 310008323 619019784 107223082 329195785 582345252 252119738 723496129 515574596 573195586 408318023 979596827 191269010 270053209 513906062 651752553 800623705 592153870 176676733 367015497 546760407 340639383 119687691 129134866 728259479 924248681 327757389 867182049 173532536 373755044 405166024 445966566 511815831 321586719 684199784 353781433 280503739 276007098 226287201 638197884 548688491 923371848 719297248 118550327 109127238 368252551 575441925 838822979 601259050 982433575 859213996 601666873 651123797 448667856 125305705 870575901 206326469 889847761 742293149 825658831 997540636 363482831 468384224 862108440 774806963 210202236 691121093 452652660 271104974 893583246 108236748 684112551 743087610 196288203 265146268 508456819 571638776 630058633 945306178 885812095 392561401 524907922 526632740 224601093 522513109 714602854 447831378 974228836 939727870 968377685 341825492 984985570 313827443 706620599 343404619 677112013 322061115 588207215 353317515 816095313 513392299 406936987 616921837 412110337 768877256 531607563 558836524 518003515 357579608 110700248 259927213 961512040 412825760 885488373 551469113 896819175 947143222 150818061 355044084 429210691 359709442 861508178 342024217 836468005 790075128 807981108 849411380 314002481 732013111 595986638 596288749 658019533 547268459 909123594 294027664 759095683 123305104 205336234 271301640 489799860 399290845 423602425 867322494 138879894 443491198 289740069 976787085 820940339 169836291 739231482 937647105 561010405 642905727 163894601 227421228 242474386 767397820 286121681 693042131 541579807 790313616 687728808 519284530 390241039 312049485 151448803 766840995 896374779 189056370 469117754 186557513 381219733 235324469 733750010 860169037 259349127 656260188 799004096 484210597 425878777 600817391 776263369 391654272 266350348 439201766 595927282 871341810 783947143 853333823 735421201 251072024 351285483 389343998 376637860 827671667 407619519 284771366 589364704 300857550 971662860 477675289 479164792 228779360 646904905 320447774 318674329 512579098 538425452 388387870 660450143 941949831 379258661 702703258 217641784 479972452 594087608 236123885 288683812 359585721 974417361 282039451 388758380 515887165 769423226 378803675 868376501 903957875 435465423 582738544 328867411 388641107 331462447 775139839 580597444 767444110 395853058 837955382 487052377 853881224 468780045 147538863 969203710 390209672 811249521 448450742 188059509 421023456 534332230 265368029 748875482 894534120 243571140 478188054 961736121 196120817 208834768 223383921 563262325 197242113 612023333 832852565 481632642 776064788 304534874 157741992 179812784 870773561 432135047 203537901 969540324 836417911 670413548 949469884 352524661 792347334 476205268 207142996 261657451 449123963 957085985 659879638 139493106 900556550 224521145 453218531 656447177 968163116 672634521 398300187 627694046 857285955 865249281 403630592 992108277 547716837 582814301 608569261 559745648 503466378 182889734 269806730 912935395 715085597 386338889 155460491 422595245 950549127 657094974 388042356 482572699 520960073 251759752 537873472 457196556 704478850 972252511 256414434 141376367 958667283 925190478 697741885 560293120 122860853 213945055 117872210 962004798 778278024 112666462 267510832 840271404 342157772 235909902 175107683 119856571 905892632 336674931 432504233 268862709 649577690 164748541 905796806 651557709 624814421 616965104 707585540 472626858 945673451 885397126 593660997 626073058 829386945 182761601 885836568 110625201 262853073 159284245 757989873 459535204 339260812 266840333 993859221 378718008 429436508 377353105 891483442 546037817 527892623 170137982 809667663 237614880 913536163 756282539 802782630 906616089 564909044 545774954 428407578 468260285 796062713 327756027 304890333 716992888 464687629 980549088 251219816 571707878 179637023 173503447 619009431 956725384 554316408 812464692 361682849 733023299 138052284 373518890 114574579 958937051 184528266 784009547 351101414 757174059 603495305 432345021 720922978 387966415 992764174 866291122 630010873 292715520 475214509 136554939 674674416 879449815 524286464 982738351 483988685 784360225 877344580 924800535 226621020 421178217 528382950 633076964 781717127 364902074 654402755 684122342 777456117 868778438 428172702 224851855 919809619 688102067 808383567 682705759 964741080 505481264 358967178 409429178 618048879 684989522 118394451 921834993 370511669 374430074 353549534 216976349 324036323 365011563 612533653 254336428 367770574 775515640 506123913 341886733 862987977 828238988 342014680 178197199 476593230 270161881 583259538 846082263 207922133 319300960 362018807 132348249 903724464 699721378 172826242 228628931 693253615 885748495 675837115 456478781 638349251 696483745 278117275 139845431 282196736 544930578 201616111 900030307 629190937 555393682 565819903 738307309 659938512 300550519 828861099 793489503 587579166 512164422 165834604 772634094 623448800 120873103 869953561 848655007 594767102 580757832 730500290 952092263 642067586 387553030 554808998 171770929 540842215 592785558 820437089 710876097 580093375 378629472 237777285 932473974 622611267 106174338 829336703 421668133 873588005 470175313 996831740 961223568 424141214 358977495 183523286 789553016 367370576 119364810 621922942 430937216 373642479 195763444 614564938 501291050 237887534 190340388 433152147 623363680 824159444 538533613 390082264 900660190 594491219 808705517 447251079 756595386 318604849 593645388 188967838 637232035 597832834 291419795 529891602 900097852 532822568 769347517 759666089 174083947 738623272 916123691 534613757 962188172 926669770 400785707 859749060 707249809 415772513 221004486 683593963 529099971 212150983 247147331 727825824 702093477 313446052 320365315 365152083 265048833 866416381 879735695 810413695 840683618 119502385 113589570 746190716 769667794 226098517 479622170 304192789 743180038 428287659 628793230 801996399 447836954 422897460 854327463 429238556 957249020 355136195 536173421 839995597 202405096 840103719 589480648 843631504 340767034 223672730 673692416 103395492 335571989 616918648 718962630 464684220 791441749 545632238 581124642 395069905 332144575 439828504 175503255 729693435 793376803 430332149 767030787 500209972 139583801 966741763 176676736 803675105 409627866 745914049 782500013 115803326 104858506 631909230 791953701 226224873 900958548 349640107 625597633 221469075 393338438 526139122 560037153 284957936 268300748 327957366 258701168 250011952 605051723 655104333 924693829 685439509 949404169 160240210 244532147 353718548 888902520 915897832 370274977 211339826 283126921 841364176 552144097 583116885 791552238 959808724 579449664 398560119 401520973 339414773 162912395 112205736 137784750 829845775 150098456 674047337 760087861 755682603 631017285 132013460 886969187 333670034 662546621 945536880 529296209 709567526 302897914 564633597 557679082 748250581 845674655 696195471 487515241 296415914 598871762 734578478 249390324 648625800 849385958 535455743 211082184 894416801 898726627 437254468 529300828 777242500 171996896 199618204 320363553 957467325 684501839 681202622 571031341 753665651 205406069 825471151 315888542 801000933 777061632 709515391 803112850 522048424 989202736 837655272 305622151 957600997 449346325 737205516 497080783 239441027 937496440 926094898 352927330 720760757 264394695 699279311 419609780 633096145 237260668 639683121 175554799 593469679 996962732 922850437 919895082 465626815 110644299 838162996 332719722 146368895 854035733 546186917 405830982 133951224 399432587 945313200 966603693 321183587 330118711 450088319 953980677 230633055 130684376 427338937 661285875 831946541 246583864 324026730 456687757 376130920 243160170 849481254 367688599 221653414 733290719 769633628 113740551 199889024 639227174 182595455 521010229 307935710 150405933 248141919 286887271 195028403 271048645 388805660 131427726 727021085 912944835 108491153 462696113 418291012 726946210 309128778 192072392 230746052 250563882 986681819 815493220 819806367 952854738 347305601 310896123 365394802 959168229 762033418 990359684 827691983 889761009 605628207 376782097 900603292 933470539 668719469 520429023 837654074 528663294 316225403 457654356 245687854 282586032 681462216 108603795 588031589 885831170 851989765 243118918 746019926 817950325 609482691 988514879 563416530 956763493 815885509 132244880 212363401 464214890 505101178 352823191 964277404 773501725 901892844 697192759 115598734 963433814 526664811 476308325 779161537 793205726 273092071 585647264 863096329 304912301 629568562 473472996 583329505 384534882 161034215 342784056 295675918 435261134 517169871 663097398 403528748 603488052 162601471 648822582 913150951 774970130 363912224 638662300 263320952 289488957 517869661 596420768 806752248 173081059 317222330 791938879 532945402 251416673 865334252 423933857 445489068 548582631 325276279 255812832 249662526 700456608 354980261 693492147 179194842 956720100 512469000 290655935 192870052 451844192 760824553 630978339 772364920 700924045 744899609 955076967 980117778 808418065 504110873 514293510 611906522 518136046 832199132 452613399 516684231 338537947 220145719 681159878 450049123 434219965 509959183 238389813 796983496 982839860 260749793 517281554 754584012 831464334 872250786 124743754 330809393 557970079 341906828 893778422 861629288 872636110 252526149 367045886 382315139 567178841 908803092 108588775 714757355 453804739 635756978 459053980 585197507 159658793 808633754 414596573 986760743 914904646 497978307 104744958 251275746 125291653 902836703 349742987 892220896 627073983 648626149 596224691 831206389 512708701 516739367 559521221 479656114 280455150 232257907 833737268 701829967 665170628 487450678 604373029 607350416 787887249 942634817 276707505 127777134 912040351 630735861 209013695 729845467 783186347 901493495 297372163 329845063 604372875 649533963 147584307 912171641 878113100 244526444 648963080 113996623 313545912 223928199 896388744 294716343 267271615 123782906 330367903 698286257 864599968 340153214 363417629 106178599 351839949 631924193 422700621 223131470 968855362 520392283 697645447 129600520 303905454 950466738 883459341 358272882 426227743 332847521 812415695 888810699 368195127 598874754 112618535 388964246 984140220 160314650 865137216 167104724 447456114 911295501 402367098 207102476 524402358 874370455 512957374 694897353 502357794 679548500 670943838 997979682 350637166 962659822 639162128 125736262 133925444 558184336 515444467 770245049 401605703 945122530 437096236 454489781 348255455 332795581 523686650 310895742 438196265 508194746 432136144 691960019 639147122 825562287 958242044 698245660 611054216 101211895 502763112 200187793 592087028 811197006 991414434 929667836 661446839 950037156 415373885 143390220 892184078 245467214 991275126 255050672 285878789 313690290 740687571 913020349 225650466 512654462 495916088 413330230 200851340 995686397 250184813 969878309 575878619 374103072 530675812 788640953 435526493 422162710 197845599 198694695 655283649 113847537 314926833 939265985 524644326 155387359 587999473 427321612 543470575 425220852 460330986 700050236 598631655 356307600 898599283 775539665 248681032 977239890 556098004 193981538 479582430 197205869 712261906 748907477 990719412 376529518 894206876 710264895 973058989 874597341 651352470 976688412 149432940 993006982 102683821 870123781 296547067 934006490 718501689 318997100 929972392 941017495 317809245 822726925 998181676 678689045 743416658 527074892 486352375 337279063 381155546 832564649 267740085 653501247 254751028 998613833 829103327 121092215 173245499 703150365 293878695 511194535 161316898 872680711 178137742 867933290 306740444 321301290 237878989 854283575 748916605 682998087 255124449 158956982 670690214 569662229 946158576 428843282 172914385 721321748 108313742 529739594 103664956 497928006 850335027 264817995 650825262 403705729 120624920 707806550 434517655 392819045 897722841 646177166 521799721 166834062 252142582 297055702 107834444 578829379 193303225 423076025 908070784 810095739 451210589 448888314 588729731 800216402 450204260 194954730 774567962 189471122 433174839 994083061 843186130 547273645 847905743 624451156 142289547 558580427 840994210 423174387 412180389 570843264 378306296 990535963 759479829 855874071 664549886 160476318 199434319 785572043 763696841 308537765 536224986 916117058 339529172 963926868 119648775 369957050 675847678 406593625 902922249 202790635 774741065 249075235 216788996 427907398 517998624 948342436 585670004 198177520 810996767 250037203 874276470 747841152 157395724 133947180 512714346 506344579 651395219 495805135 468209107 332197692 813502119 878736034 755236699 595795878 931743587 855325535 536295731 312383367 634947915 579516105 410338141 888861640 193461287 947284787 100607760 570977415 873899449 400944666 953510667 112307236 356170262 387941552 490865943 394979373 764824005 909466346 787533628 125689951 705645266 296962294 955667415 183603841 325248132 601971004 216089195 936010837 767162495 674877292 305993233 389081983 325487125 512667282 239431822 858482928 660416246 701538986 680701014 655240895 194599535 458845292 209079664 863683926 698354170 165369871 444295258 829819560 246575113 931254624 747116258 731434031 620019918 600789114 595888362 697429612 289049390 420272139 496218461 860297184 504052361 490612061 503297200 378762101 106816855 570488480 368570153 299022386 630521168 761132638 580103248 110141796 484614636 747521979 768884182 939484175 172726953 457450932 663202926 578023933 972716612 136387205 184084728 759015909 927633698 581543853 864817004 636108536 101695551 183090043 466724190 667697186 490567267 293406261 635529197 468121909 585571072 107461533 428370406 770675556 127847563 912294518 244564527 843899706 633175103 324370698 556519579 195746396 422110286 839178547 671947249 305321843 507877879 560563153 740248748 402728854 259988033 411622962 150569201 705960785 679035430 792076466 808347653 648555588 237133159 965007611 479119622 471905695 918830558 614837666 556058518 256102298 173082579 491626110 843235898 621773409 395001339 727804946 832610411 186043595 641071143 726007363 838983876 422231581 949827745 620624353 983484739 317697646 155415579 262192632 496868619 918846824 560071973 316923507 488021874 540845822 266421107 798639735 754840420 600884905 937265744 614060319 814723334 484925383 761063561 949338238 478846371 404242613 218095158 782415513 872620532 273309019 531166909 137209059 165352640 887732021 478996161 639112542 531408789 502326364 564367718 901139850 414062154 612231873 353849002 938242263 885641146 929664794 231474824 341791370 681524577 774981192 753683214 405871711 300379633 731792885 733980679 803400363 449229733 489216827 207416260 356233763 658111838 760088312 971314082 122849907 106788504 578306575 850133443 201175832 472824296 215401271 438930603 821245174 453578908 614392375 434683333 903735762 290015817 144646473 408323272 273804784 575359320 338066375 298988477 480036354 370085237 651014248 460114052 457033944 612933380 423474149 857356897 891404351 520051647 770141487 780066935 589163486 230388128 571134610 438800079 593497628 990192352 265849510 917056615 635756112 565864017 272168187 921149121 760186467 379521698 388926709 393528462 747938741 151277672 750982091 977229402 663245055 119633502 962556411 791112522 993572299 283695896 575093836 763511865 365378129 154032423 460044139 423592868 115113430 907250797 218894340 717478953 621667706 908243791 855077591 294704081 293839451 566628934 110786937 258966376 975880147 272311576 602054092 703831617 981677371 912535628 130023395 848100555 139729572 179850160 805707644 376408622 761380023 261929995 280572941 651600372 271185736 100110165 412057397 490671517 392038548 659905295 291866841 704343348 938596836 826542421 493473016 504309790 893907787 418468912 600397989 475924834 276523026 234505852 647867366 646159737 249192276 347098441 782498273 862958869 798340894 214389212 377401611 992956136 903215587 389664663 195925488 293542497 349160478 889744917 890718740 987949656 188685918 106004154 985312893 895277349 849167411 569998432 226442087 524059032 303001491 607627584 883223371 545367864 326578260 126097581 322351280 887003464 549619212 761032277 426282968 900409579 559022325 562249364 995497728 697251705 586894018 786334572 388367260 506911040 593201179 665174582 923645679 377333660 988954651 577931962 409249045 120331576 224653006 352076767 581556675 482724216 109650683 145296394 846426499 925291980 124849351 618859122 566749598 822872531 616896508 208916899 484294096 965989870 372592541 548290367 695740493 802744444 319900777 902896502 601410029 926816672 466571221 534142667 479083133 557249356 334420469 420756335 506715607 921110033 372866290 183424847 250777545 906164720 338573892 856445451 753093255 121381863 838144569 213575452 571114471 643815191 825271560 104451467 779983497 797010174 134398741 485837178 194590952 280704749 596731957 605290815 745720615 631349050 112467866 991173457 795554306 319439083 109374694 499769963 577202282 707253264 352229175 993616717 888377111 967908780 333010036 629171843 724340403 759858929 955772965 791655259 908752844 137999569 208478435 584194821 354318864 639828788 789958130 587223736 956716011 383754008 740672548 135968267 983619729 397538118 855449403 185119684 260511121 670555270 160840315 312059806 696118715 973682609 429100795 416196607 457108067 186429319 810504488 888781776 116139430 108253831 247646105 481211432 157251640 699801228 494614894 343684224 803917955 810501866 819517887 634998312 442372370 705646013 254966791 682979596 805569131 221413116 272845862 811344525 697445234 756760393 122769570 464955953 876203607 743187796 460825682 760722748 331984580 453594153 400296075 538276026 437003327 362250088 792784823 690819520 266573733 589816379 512599552 601247711 998378619 949549509 694849465 596674269 801960742 365638071 112645343 472524300 130217490 182073066 382290603 109914408 548368628 441129245 633781827 620551591 455219614 727064213 646504510 125728985 740969325 949417624 947528873 608371596 611291683 870663571 945208167 819789534 163083650 792173469 752661335 179444631 423096313 293496907 632409748 673903215 812994972 481092350 594975182 115531715 399117027 113652264 427026594 438753248 857371811 772440203 958606648 160955093 223613405 260334736 281370539 663080857 616049897 940663957 702590309 785167239 382148753 659892771 484472348 466411449 486621563 757070580 117642127 854129284 855883576 855153376 546305192 565696122 861836316 747540513 411832421 917685607 906938182 459774247 302973429 492414979 813291633 503288055 580209232 440974047 731615163 396091433 103630722 281598029 446368953 342095834 304366394 572985047 850748073 566308685 182762256 869149512 536791513 412443236 955290832 643301846 864842555 756471206 397146517 925661046 493105660 636897500 426256653 105048676 812110116 531145379 964236510 143417511 721203215 604618549 713545757 402214533 587428618 457816370 427186789 687726730 509896023 329449639 152580346 349200371 666886913 851742736 406206379 400139004 379767090 358730252 980472823 108876776 628000671 457671901 169450151 940771255 877799582 806619350 332561244 260453264 381784107 739805934 212944247 485874047 699344501 150092146 667043661 111393254 296904487 530968800 188448915 782649576 686223922 922339393 388293303 639803849 152307042 397893166 922678874 329365393 550011517 501498100 969059072 479560156 493953341 442710305 802640283 251373150 119686375 189331463 994783243 195667414 405927360 456795737 687658270 851591427 233930664 102700516 750121726 329070383 722571911 953289448 523248124 574618482 523918413 300363344 736772924 980089759 235480498 509846193 680605981 857220215 134674297 182261441 310027088 883739553 946866069 609341720 299472282 265255410 720767087 647352860 605488562 581128851 855106346 199486854 163724930 128089004 654800131 380202012 607605460 823623871 186082069 832000129 118710091 372933144 880479018 200002978 786092746 624343946 748941081 309279844 896188364 916286862 936053201 859577852 377218345 164574136 917893154 915050606 679543273 710607674 172501361 389865671 588544039 422040687 162006669 589598633 887428785 224818811 265414848 954081776 436486865 265495237 948994479 306566811 588211326 356182127 371037734 574821413 295498060 127389240 376890051 413924628 382706155 354295614 838614603 576676701 595811121 630260866 454863090 250018714 901611119 541127342 686765742 246843996 813731307 630367923 340057807 543661736 760420254 470882038 128921120 437495731 560673556 287283984 788433047 519779133 896088584 402176541 458719006 488532261 144535247 518318193 299822863 500221725 868663791 267308240 715646776 835941781 302809946 720376909 492510383 485431480 398553550 337448610 822380545 834971097 678939123 707068928 479324872 689568964 995202487 268528754 464877143 150481627 960568458 874163234 715479012 297190977 214043595 777147688 734360412 777198883 196428049 892830141 731243716 981581096 676695903 533072174 275323668 396010206 824786426 745254680 671107636 975439846 789971145 135134626 951324549 406055303 321745383 336223621 940696033 316705552 288291054 393628910 307395779 428105926 957058616 634012132 707433978 419724515 922590306 876571881 861129361 588323852 835661585 544701422 399898926 760148528 746816924 635242759 913101470 675348222 113931371 224406204 369844382 471440241 256305042 167193916 930251469 333903768 871341141 873877062 985900178 232833725 859876450 779717711 900669536 579816412 950057247 674312743 854507747 227924926 720164368 544536914 310052473 850835441 960352319 510549873 615584671 781102762 791643339 696011200 485700448 530322343 973467685 363504803 727360531 765123819 302592746 467635225 854261556 126584203 352325395 853757564 164660777 176993184 534671514 356073260 431977223 414266597 318416402 902828113 997840300 796942127 507471400 189430769 565096843 234756809 324892221 583729744 304085132 447192728 971971224 672408744 237512245 597933762 240997724 907558179 986016346 181323540 811629277 191098602 248199498 360693343 323908668 513726935 454851022 809336428 420732541 415937573 532591049 245586725 927724378 497188258 359988433 271331140 203630051 982351523 508300268 806820597 592406463 115004372 948542927 963318649 101222516 442016229 923052071 801053877 658107495 608174084 172092158 242496293 595002531 399787585 402196544 756765711 660024147 923208822 884150412 193805551 401197849 582035962 360007296 388738159 267547684 942798047 373985388 174536552 864646145 741774075 609028151 218056172 911900303 723686578 250386517 787123968 563661915 533017339 646939597 377540483 399834121 529061345 168774700 527067258 126051541 758286138 164170966 927060816 932345739 182896007 639931580 514710511 215010242 800787310 913225301 210352531 725102563 810110917 561499554 136005149 537439728 251364663 374501514 561682421 862929560 332814073 734645960 906150387 656072957 599017002 214968015 510708899 419832727 436557716 502115759 649736376 269191608 219665116 734659616 933595594 474852200 696370069 487408706 934968606 193600554 103616476 480475415 581823610 943354018 696843231 167375690 280090647 498998441 911696822 217021707 833253257 440534725 512863789 450415752 332621104 398564518 350297201 426512358 534764510 500800470 773355261 607084444 624129199 839238661 389753549 386383297 413799931 890528834 401584324 857492142 953393303 950572473 959977689 405650792 827114588 642458894 780433855 250514079 770165815 982763846 612699450 623526189 480763180 167337499 805659308 426946557 259639294 690618799 792580695 949936374 475788209 765140689 782355804 461996192 187294667 656723660 424036755 901817164 387396286 407445587 852144638 440876348 683890289 180779429 484886537 315078786 421870567 218099144 478864821 256018392 243746794 812025847 597815879 961872344 621355149 419185462 772391668 946189992 500162656 578881627 240811012 330924703 741621922 671883877 857510964 477350901 223197349 397500942 427605479 787274486 244448565 447375784 743410253 451834045 801855142 248806867 309696517 692915094 614160940 255990835 999612725 506523731 925960084 145713627 235249384 831088156 224798365 601570760 325214530 405125616 782360502 661259338 358741898 616736938 696979938 867685562 293290042 896235529 860849129 881013389 369529817 484110956 966613645 781147992 105042583 307654910 774145367 883043860 989703088 145898626 380198855 205780109 701671941 173895606 209933804 428789558 528619185 560622470 492966333 632635421 862921371 367349167 519610273 193867688 963378127 655577451 405285543 367823424 283568949 855620992 199757661 378813375 373846003 705316970 367895010 291882639 392503822 523362221 424882667 129285811 244651899 790712431 734946125 149808918 718893589 911268533 611451568 432658015 376660638 847875220 577817370 107246435 491272672 496306359 286450034 703991589 492483007 708505841 760344709 291747648 854797410 185939053 791003712 127265254 452958099 507940157 546063103 282195498 168437244 204348313 430922257 392478141 673653756 524973830 703756541 902623420 895642650 947253537 236900641 806285528 719836435 393026047 412823772 347327642 309449098 415843464 556001055 777728910 362899090 224369453 353795152 566487074 582740528 556178022 127388595 800011618 907864477 957218898 263420721 127019484 892264465 762846083 143840650 958498714 629918224 366923280 808166636 842509899 219852943 726839605 101871128 320539240 500064229 345903718 795651310 181958147 250160119 702730556 472090145 429135737 600449035 331134100 207506262 997877398 282629811 661393368 416025481 403199964 525604315 280775369 505157431 499835908 742553638 996569382 242765617 585170170 566591086 185327113 255391644 270292607 512564143 787049748 718508740 882077245 936842477 538536552 581604906 131730621 744763790 308430320 367267643 380459785 711076245 231019471 326755766 644596790 557303547 308513990 476219201 538709277 367040976 274213298 415923654 971516887 906688777 966025910 868430248 333336917 266919800 279078670 886886455 586236117 810200774 683093723 791228620 426911065 702004130 871080946 353964530 559756525 114151355 121774445 587634520 480132836 204887300 123605505 941869335 655922390 481499385 441459476 347313944 407064420 860378864 169682897 271005018 293639897 854390768 464294764 352696090 755921232 204839680 978806144 253469675 573280473 468381630 320209622 663734386 609858678 898220162 556438070 928599359 711555758 561785095 574908071 349642134 155562422 120795661 617967276 572665231 927635931 596913119 404061013 305600828 358319107 580882232 766614721 321759303 298433259 590156875 796240683 226241117 743372143 425538508 650911022 757748809 878150530 412899454 313942488 238792435 838817560 679496533 154231291 458052726 689224577 923495525 214407579 921104860 862046752 354072280 109760755 828629692 782419585 379491780 806266046 585684340 791838951 380823563 273219711 428108504 344860876 265940356 823055989 346979799 202207229 970364849 350328753 198599176 888832160 893508038 677417753 957071256 175862518 530403948 136379429 502030395 216560840 932978020 280482114 138841240 983238444 737973120 824657024 436131756 625312702 443732105 498327166 274182580 376916118 871480566 719747239 755827404 477202979 110704621 102038895 502646299 514079728 311649400 509818451 513140202 189315490 255005304 243214923 907155086 868010553 682367837 521046744 837720776 782586794 484033117 528966835 518402964 970442941 380152624 930729045 464587923 432693173 583607540 842012040 412864227 938279978 601931744 460449709 593588102 143876982 753993989 146959805 752832771 759265306 714843119 109024249 778297640 807179633 895326890 680909326 362918997 959586665 227777672 388193878 783786256 449313660 963866033 630206385 614732210 855802682 440837921 381536480 245889748 668575563 241665171 330912407 879905687 839105111 842632787 129856794 395991856 532057243 223290733 323648305 697446667 597384531 836108759 197890901 360090755 891642736 271508781 349590938 697472200 700857032 179238277 505840113 123780695 494161357 195922363 751512707 629512936 104415444 406095267 650921493 691328815 823570158 877017633 549687231 476028562 493963697 259151988 375385184 308301352 641927773 523394544 399567815 113267428 235557285 826721515 574587996 298472417 585584013 829109171 543601538 383680145 430547962 162023774 149444463 232518442 853678290 550778580 593655154 278484951 377917672 172140028 353307696 309023477 807918921 150363892 122988551 197969587 612774413 198877998 874077377 693271345 895689561 277594043 968773110 972902433 424949588 676780666 400062695 619907411 722898916 969766159 118786922 300320605 974064259 500870126 581249535 634792848 686917619 594736671 908996161 145292142 557509623 638007730 692768361 356521683 574630173 733068548 878634288 680049949 478076960 570514179 256625914 246918580 537802551 958199055 905037777 207233466 576223244 160320780 769728682 831829057 117996970 613193544 500627410 229950749 903499649 539493985 666630759 816575096 801780743 974725359 352353247 244866901 255210762 525165049 412795387 298561449 622131077 485947353 946511774 972328520 291259159 569568122 887780151 961407126 319555658 178488108 223620088 161979307 688656600 469684178 146248378 184441551 775600045 633339718 399975753 127833412 138133340 421626290 844477901 311273943 465212468 828212477 423472508 165733041 155912682 446120395 139231728 927476578 166249507 276133736 595384455 768176134 935559080 862529322 434839133 486184725 208647931 365503223 124297613 905885477 828364380 263386649 373107576 374138926 282518385 726618716 446800077 978716780 960348637 451618513 302833735 879535743 244293210 188586415 644678176 921323947 229360726 950401002 890782277 842290528 350276925 696574883 160888617 647549254 718362488 591025291 637266722 370288405 972556008 116696394 369433769 919860751 689238713 679533355 613156599 631197173 445366941 640658726 826878351 159902218 817232554 979683241 574887989 838143533 515707943 440811767 326608295 977913602 888507589 171830110 378231294 162510030 911468646 787105248 945110269 620864927 960194245 730763639 818998954 817721886 912929419 102992688 701023169 972592983 627731325 841045199 578485618 872516711 236221295 689828364 402721389 337658889 315537875 382703312 263840033 257669710 738936003 744663420 628011647 942088920 328659339 508629962 570385153 426623563 698517106 776451151 303494469 533115855 699032278 205825660 544440931 235520129 176122440 601376253 766430234 587177094 601286046 566796528 981408916 509794751 589623429 897980244 406829681 362389191 798568121 479319253 206695726 792101345 975059221 844262097 937407271 762592007 679593756 200168996 237381589 150463105 838401537 292512635 845624776 560073282 326971043 618892055 289309960 913187229 798004220 435936885 964527724 594321865 626427810 281048493 664689597 968518702 867265424 623593780 177786578 344086814 872815754 288229895 632879170 826892002 187492960 497067390 310372868 415137471 199716736 196173703 852786622 181134471 767057994 281760060 741060851 656970216 240655599 236443342 902867705 816881062 717621971 937243611 626867210 306288834 257107435 160264603 508709381 143533248 722798116 196382981 837591270 783656361 363613243 188646249 473772819 801652992 365001227 479583152 588434142 298872574 543350828 465672924 117876036 922805133 435010801 261877967 629080250 514792044 415174877 392718963 839604721 537452367 664650454 364740309 340510788 798017143 308664727 291768104 176065203 201633587 455246831 204832606 659150778 819178719 328951341 809614102 517776429 142281336 839526689 830345590 304532924 600138488 317661821 502264389 470666367 748372023 537216855 829095403 747401391 351975935 730435281 589566928 507100722 497826163 156377656 718447234 461021828 569794461 805151289 961268094 274170854 897275104 346755133 522291649 579290794 429412116 275173250 774920866 821848017 955732964 445637300 799720475 531808002 232844417 691034672 712479290 191268114 412905758 323003545 974775101 975951741 923406238 785764521 572484864 100463626 821521066 818105043 377280494 369422577 117590183 902190544 164221672 952558365 133702372 931448079 706952598 843362316 746308435 989067000 726167243 487519369 780003313 813919010 190613044 522390837 968479800 326737917 453245922 513571744 998968011 911541165 805186909 262935753 759032270 367372607 826639507 638921847 604075505 641351463 396381671 361501261 553463834 435403622 550720709 762725121 879385072 352580578 746972688 564372587 344142370 327947179 593663344 404911448 762976678 671132957 263697068 868530007 257083818 924627194 757484071 229874671 724673611 916152726 847205824 979494212 127497279 335037620 216853063 121596733 571052741 424456294 584595912 735414844 204891951 795974157 182597258 543468472 612147498 682176625 190998810 113711847 264470844 593211542 598920622 843121790 895030496 692897609 317660188 629841609 214618256 988558717 934715673 969616496 819653079 125660473 392145896 861973350 423603429 698905894 216196642 321455508 319997055 820269043 121582975 948045351 796117390 346222882 439528553 821066581 831298007 939019050 706485535 923721906 642868812 955346926 879427888 308234969 706812968 744556519 555274375 846340175 448620315 167267075 568741139 406661007 778758499 504258390 969637999 298781296 466443474 294111511 943598931 715094441 532695498 720943799 744956483 749099564 314902261 254362386 901754865 323983550 148676922 644343441 130799746 426471791 317964824 798769505 903586345 650709489 336350075 560226571 430690506 780759774 507591987 200921643 742310498 294316432 497791810 683749856 229868664 912990933 763980404 802942930 928117478 294167589 489692350 496389144 667799226 273143206 861303303 279526053 815097097 160641251 330632827 721598423 513237982 615615764 935668316 122770230 193107924 613727089 550506841 393703717 628705587 109175896 397690528 692926855 471231238 801234304 484194502 302955583 870162629 191037392 647233804 341905578 345444303 656011375 311921386 713089008 629370896 124099775 490364348 520418381 941477538 304654433 244879166 158751671 692497168 947185492 217594093 156984560 570524256 890601946 879897245 616915826 997308601 231506288 741080179 924381010 117394637 579003643 610152220 100300682 568374477 128889399 377498844 703193591 398755210 274739597 917482865 583820552 479672630 335087627 265198158 904650402 158063359 635372736 451317717 580508968 919287356 617371907 381113987 564992922 794028095 698642930 798082967 173959770 252936999 650111192 243775451 220816407 154282419 379121552 388082929 709408118 349804916 856440295 349510675 732889543 880450997 222136314 452107307 618295300 563859168 602519666 655110757 763002436 766699969 363826361 536452097 659090573 974889858 934601032 172901780 348522460 224287414 619940154 406882447 284559551 559142661 273736948 944653665 246455251 212567023 586362009 917506257 717282535 970193281 810144969 935893221 722835331 497198075 311209633 680712553 162739538 128181420 380864612 353382236 674845542 312835939 515907441 894971542 326362541 722486333 364365066 465777537 114294025 444637593 307424331 241558896 162425533 320580402 695290513 869025832 841579267 914219440 511408641 539198265 293930118 173294612 505781747 128307049 594590859 354555039 261652737 716764475 362601721 827184489 576412966 127342201 780110404 196857723 320709065 330415349 471793170 576869733 400571982 804596142 968507898 427446617 831035431 111938043 125324665 871013117 619089865 668686841 751188834 484360425 761830169 962334219 750569854 282834521 374236346 662870408 579338130 509078188 575594777 552992638 473039682 232781579 163371664 700472722 811512015 522107773 657651961 540586808 167027411 453395707 318064344 649633191 672799629 781848491 910148140 788568383 766565949 425037771 587064254 847945119 143067494 602844150 265635659 213960052 352199037 788004332 238193407 784613894 365785253 740604481 770864796 379859872 990982893 566310795 487291200 162249533 677802216 101213972 127824036 587295156 594865295 344727108 977717961 637975927 321726290 736032293 918653126 472932100 549523642 154822566 161436466 479334993 315107699 878502762 589644696 436288288 627334180 655896166 168500167 229463849 470354516 836930994 802109056 363949989 659483901 104056237 894733877 343533407 950251103 632347785 136685420 366222492 887731913 789566831 973578603 302094984 269252287 118625159 551508392 609217762 705488826 516319992 396666340 465601550 490068496 253434809 480418948 516442931 376746364 921304574 870474526 756123099 390146536 700501118 745207778 757197669 597779742 848463405 266969241 594313733 351758003 350121837 494124361 167326551 144689061 362921050 165402384 688219135 393415679 318949144 367804015 154082347 966974381 930210968 505034053 941517427 221798213 239266327 528752442 894170206 394792099 920118177 710798698 748634060 233592894 204888611 676129950 992652493 552184937 985988230 625581862 281608408 308830155 997641076 284020360 523850544 163293136 392880958 256060797 393513345 644147385 129245595 950701403 487320868 636096534 575167131 338721115 316086234 275243425 347805359 623046235 131917178 211099438 304634236 768248914 124199016 953638851 877800147 168968287 629763509 738174543 187405665 237073570 169862450 741419916 453339876 180922729 170348249 788005572 854815646 647343275 461191339 942063395 496767960 678416092 574218010 650830605 460308950 500338638 513894792 377616610 383111731 900978749 840771972 947953524 183185572 357834563 673349869 953636701 498646769 474345153 160657588 698211222 414882744 914264263 269247029 678149952 265426558 663805033 230852461 102892137 447066441 764657455 353748339 596813960 661377721 425244402 208791691 635916744 115336663 818773058 875054023 125569511 945785478 243967846 746235914 912758689 662619517 932303865 995309631 960762732 569901629 151196580 370073216 350861852 110220890 213483742 428878011 976319274 524463764 256005825 315681849 410678527 478106233 203115725 622084359 468645992 997544344 282945376 728472641 791247359 499043080 262092085 840365671 721988901 418102539 764895841 922749264 925953973 582066406 679118624 843544295 755971054 124764288 154894207 335126236 992017616 930268507 278235048 439371723 942986856 142381113 604103542 871204464 557646750 842682702 868913007 586524171 585649188 987619074 421056877 896506556 767210167 107297160 296291456 195454508 106055293 792264182 752970724 324162348 849153085 605019386 630922251 389042384 121897609 545436856 184853662 551871423 850944673 666562090 960823606 951576444 401474605 763460524 262048540 722011042 335853419 788774750 382397112 793497501 514934951 598714441 259053502 280955829 175484651 400108259 931949944 634978492 153984023 564495043 142423408 294200807 258004892 565169166 901673120 953523215 523490495 138214349 504476764 697084741 374127935 933443592 658233321 918386258 790740761 528178682 936288933 777662320 416988492 938725337 298489968 646581306 421768207 333469537 982848205 963090981 670243542 407708348 740713585 112996236 953275274 909412648 886838971 405899079 622284494 606155898 723002365 214879471 583455199 616459818 386858550 403672106 357261266 191154854 845023722 832777660 261352875 985018087 983897689 508566776 259698323 979083259 200895114 483338235 633812254 551919126 537529935 405124404 869840415 404534657 664344049 583116694 357711878 739999572 248056791 942595630 446179769 553293700 432774669 959413235 353645229 392793679 613772921 162740751 121304024 627020901 202970777 194060716 734527495 849626209 556495908 614367635 935612556 890975678 631758617 463719556 815708106 342040356 120979910 294656479 660420203 703245628 740542049 607025570 789150578 707585387 766948987 891999999 779404426 525503965 543920508 510163919 508260501 322910231 740307938 428522629 229023736 519254930 639691635 197489943 746573484 258090769 414680605 560662004 833158994 419092835 989806214 306991347 164341323 326074853 938204318 328333183 653284648 337665902 999552611 228339433 981251853 866025806 603096528 551248509 196643160 661673454 129166782 853155024 530408151 465193066 260201903 131991095 440096082 338621847 419765347 182241364 438953688 728099744 406073882 986923317 459252669 696202145 829359081 166519197 501273996 384578493 696951432 768635802 691634160 349391887 410191372 623017823 612669981 942690938 385885729 424801461 301254306 346483164 758470256 986678630 253726655 457482343 799195011 674992660 859844673 292139856 933756748 935018451 675563869 931521751 903711693 663800188 303530658 674526259 639066374 246214159 450957222 365498012 949601224 216746894 684671082 980075930 377929760 447228085 588012688 128157376 792068358 322564775 535360141 294226568 766649207 252924265 949296043 518952721 619424529 916322445 678794016 493345172 346436158 871778239 514941715 681555332 745033905 408726604 924538754 742946267 420063932 850503309 300544536 215908517 853104622 833662149 300346493 131665771 890195052 724189002 141938019 738333594 127880092 924836415 706058055 815626383 656790465 423694917 822793355 492377911 425973231 526320496 274114062 985037065 532431038 544369126 465251920 722785140 454349221 657215831 846917044 383892699 590973427 771682514 474695687 815150571 713250801 921919208 205698743 696672211 774543279 954052153 844174465 699845554 896984115 233132800 838150210 397445820 404634554 207698081 442767604 810330749 689538675 710553892 839556648 524291290 603112295 757558016 435439141 598926624 467830170 521109954 984018116 955347201 966509952 707689890 196116304 337212842 806999803 106098455 103414727 278873117 917171733 738352185 614409484 543184087 183692630 695976635 932829151 108463965 970523613 674944052 535140202 445611808 439363402 815942696 991107025 377287073 238415785 897001498 591038798 207204361 959907676 245501898 508349693 369388896 610153244 816984122 766973779 564841428 926300934 417206864 756621406 373558777 430054220 718981360 973529223 503637516 480199898 930253291 702654315 294534552 155360814 793883818 577354024 173941293 332024330 992470166 929871072 536894481 380777854 798600934 788330549 273883972 237620901 664706778 407143606 504042915 601864127 656798156 206174737 889529150 910939693 836747267 947578767 726264017 861666341 700638975 708806697 335296105 900072064 926518405 673253832 441223187 277257267 957808213 276573156 725590208 164189004 284515363 698125970 274862044 874644572 647003623 100579581 873770888 393001092 761462105 325257208 803958440 121400874 587241546 593551120 688018226 601318518 479200841 679962825 972679816 705208136 796462638 136409481 526356577 613644248 561391915 318650431 714133070 149999950 741667749 518565013 726317395 718098185 612766250 706529561 524103115 405074907 624754991 634436936 300637495 987705400 169019241 533185443 373229463 345505672 119270159 923061498 939765380 594466411 730237949 263924684 840401624 525253219 146924873 772069499 935635073 608706120 574570755 540554212 117335235 955015307 843641950 395024610 531946354 358398246 409743610 994477500 556119092 275555415 989189018 692235479 287170801 853449615 916071210 240869074 218712194 487029674 293974378 919435929 179384034 728639954 962949682 170324646 750480653 158561035 371322839 944644026 388467079 520140034 507589003 531507126 179814375 414831902 561740625 273036411 234100755 556389856 676478547 479344805 524127173 466384842 107962202 574772002 499460055 257336891 647772422 341646278 291692999 306015029 391390204 628607087 883087447 265699033 523730764 666944083 662188387 982611677 537074074 621141700 677542531 566268796 730431424 771274722 585981021 238301087 229137928 344907122 522222994 748078616 251408631 194810817 107111349 651270578 800266142 663806093 585139811 826251458 811753884 913340433 473845163 403176156 351251689 499054091 820404666 637724379 106248578 346730269 915278437 626134155 415790029 703982851 159631458 497699413 820250512 199329804 195068136 195539553 651615037 266982390 223812426 378903968 931377547 322624940 877808934 230100835 897597093 322087714 881118944 878061448 795066773 784620730 186322887 311954008 485354848 794365330 421595896 663896016 173003918 476451370 942177108 658498291 814687834 443582397 468762706 858207659 660815644 747199387 354167487 114025464 352610223 365288285 981614113 323107557 375410795 726248292 186296987 856809070 654323408 175883505 886161027 998816877 882279588 432259822 895499499 399308242 122647905 670275809 376663689 394733122 308343455 789263413 857917324 675528332 687197895 223643403 812600178 883980975 380519559 901331817 918075128 972092457 682366635 321643229 551594534 147390419 490835784 132319790 720568451 677151440 247990534 161922759 331760362 109530832 953639951 514920496 496870462 338466376 644103729 898497951 457025036 614323245 150911636 217441419 208007045 382238121 428420471 447373879 457326658 685360102 246068566 952121244 444851961 539593916 484315771 520386875 679681442 448932271 842915969 393291498 111075142 845779576 310468176 432332755 341525596 560853259 582330362 237462546 382009819 777518858 962312806 709256219 670331246 787217181 539252758 664466152 824237297 953830563 448126625 803752564 763932331 130634453 114384593 111730279 376887455 590801583 199918780 681787263 330007887 835726224 662204834 686370518 466866571 770530641 163833654 338115737 126116226 447524214 254761690 397926220 852320056 574561575 113339486 772855395 294583137 100193630 547017377 259410597 384993686 484406392 368869824 451467535 332011207 914963814 125569165 939153482 441941804 945419224 179241247 996326596 721417829 300176431 782896394 831963027 570893241 743495171 412836793 590591745 160855691 595260426 754210699 533986446 204262642 712034193 293675608 647696801 218955859 121597182 905302202 537190778 387265629 680438090 502916532 185531392 905027661 393020900 352427764 689438821 331831957 867585672 498237598 255830205 150927367 473166188 226595021 671659612 222281246 430673567 452865217 868137774 881017278 941558975 836545388 410646847 365893762 302769481 883872383 167982354 330242023 224873489 617653613 529006921 822128052 212233161 818160709 219318508 408353919 379688705 219046244 547237189 636047720 584379980 427063358 241632227 906269366 658873818 687484852 976264484 595580884 604147000 750342968 851740824 290082354 454304638 944507668 907781354 187953282 688507293 857199127 740954815 363015704 121119688 273167855 651080288 569635962 893036164 445699548 546496902 647126206 727692660 963135130 520592019 526296218 692135361 424474214 678113592 895589952 591495790 235504210 930714881 764112973 719390299 349592740 466938593 494561719 529251085 514837514 866740828 321487878 948598915 477285882 815296721 889905723 405128099 328920629 302881581 762239889 861137128 113174040 752535513 317117831 715854876 293288304 866801051 120663645 826196644 377045084 478704666 876992623 165478789 124400372 561891720 361495661 506355454 173714728 960836757 796329980 925727195 170047120 730599449 289535406 772154942 473509406 613949003 604710417 381800869 718760804 791922454 416156601 647006806 403497520 822379342 386017318 133338413 219229700 980347521 767433502 460998947 376569686 988532107 259141560 738362944 760401263 853807312 934083931 131237492 274564542 366558175 723239913 986150451 695698199 539985353 780295044 266400231 270356571 512225940 831698696 176416326 424948356 637366022 656379603 650622298 732010709 731000163 480617844 147743248 588115426 489668744 885564694 263901288 601165308 886230191 200260087 863292078 394346357 403234575 270299296 854607212 482756585 320593897 687330957 386858813 531826734 812108795 113330059 671461131 573701501 104382829 975774035 348700013 249718274 994468982 882175754 936619851 856363079 435624144 278887015 910683940 462452516 832743694 955166492 894915852 848758399 382019522 400946750 404676880 772982075 395835645 205397256 367664108 758090860 226803488 419650553 456144216 721127101 481160928 558727224 974102540 849769821 949157010 811572642 928703476 599262109 905487343 239390989 575565796 897482368 799932123 259649161 706857825 953646549 761172480 532741041 736104290 719015062 250917170 484146014 307934969 736851616 963692445 548141960 534822096 405430450 666455124 438976941 659487677 487556882 353281490 800644557 848504403 203628566 511099925 950726429 240114992 802686594 819812077 941755630 171206961 603712679 882457078 575250505 726671918 358932483 338272449 739280629 733569510 399254082 578110611 543872523 487612825 417710455 204828317 213392227 506700247 687898518 249029150 197908486 531587851 959008040 398908689 311803098 182441880 647358787 931353754 575529318 232308211 918404223 765831410 120681581 845234120 244619599 420073845 267492393 173148077 692921435 107102982 437249372 769868163 414080817 579347925 295612278 176546139 243826579 940810649 441088491 787522656 920346758 168755120 463930079 999202786 650118718 122118782 195379294 395930150 440938809 489940034 983314866 477286775 587594600 226875150 254354874 961024219 195708023 763314985 872493573 388707141 618296244 601758356 223641142 676532414 763628169 119623671 991397340 899709341 624199206 802423952 111362994 715535242 439436714 182579745 191114896 985637248 336895522 530844273 121513292 744519226 463071864 979191312 860833132 686185941 582857540 427448887 671412759 811435688 566353169 141209561 807530237 781101866 635195213 718845859 442639099 740608320 242267986 183491915 544217728 800867423 807317461 211432457 486035259 954089262 688622213 869358954 235693530 666158416 577508798 551579932 836627392 895299414 866064410 688548291 183261863 691944807 227548521 436243213 274177801 486841469 680211925 912522860 410024189 844442115 427355216 443150545 665476854 374538252 889572475 878304562 203560689 291988167 694472285 647225431 391148344 515074295 337077861 985416818 123449277 121707227 821040800 422486344 135989023 368279088 741271649 648521461 690961048 141747453 358803672 525303018 738504844 977995020 126039220 875961606 956956835 509088787 307680950 385364292 163240597 660682751 614884042 442131035 701155997 688058023 833439297 265710079 432851882 367378073 510424753 208988888 149462904 653226676 768991539 908822158 407155094 594438023 635892886 926756217 507412373 244017314 517405218 575314912 124195157 419204574 797011976 699281995 784829570 777427728 648186849 251188196 118827868 875082837 725391350 467853681 115624064 726647482 453401431 626897759 645535099 342566320 577461865 262408893 339649501 699695302 706812811 237933328 476922532 567996305 289423348 860726520 550099678 112809424 906499985 573935113 903936587 573069162 705867620 451626602 861028878 930747472 948352200 408531653 760214257 409473358 235152141 675132253 230287521 772081813 146288197 751780362 470380544 691391468 158006412 198814588 412896609 483477472 343803301 106576169 726477739 888643309 801602353 786750783 551579761 533034269 751296024 105252517 721389770 748040432 523124971 625598848 310398821 413860343 474402239 161198568 527145218 300903731 769208312 361564213 192337726 954411037 233518586 558402548 785743967 892925823 189145008 849570060 156972959 567138638 103133770 802709827 821724482 263307971 885864615 303330672 467231478 371522427 136447729 127437368 196444637 354065484 181708448 565392922 993540204 600471345 886199041 214983368 738429179 227762015 583023547 191326737 158302729 829389350 141858720 263306275 221762724 138988338 417150165 385735976 648027251 368150473 133824092 210441650 429159576 438771239 315256222 807101067 943621783 420493567 559894027 408047080 306613441 280613263 782595018 777223448 642722248 798002149 441221591 821510366 285793752 795581180 362768250 651818617 553563189 281390412 744552338 333150051 694942646 434414917 447807609 501546575 500884455 368410901 462784961 912891391 701255807 770862409 908083047 853092372 561134386 305966066 859451836 565243399 658161360 743454527 406471960 897744502 594438485 193555384 638932491 879586157 245746980 676877656 438521912 479432585 270901934 110551168 617496492 545819736 130176834 129856056 435677750 632863726 394026192 969282959 900237696 252568422 807463162 783437677 738049370 850768207 729877023 116477282 849555284 808058872 810892550 971927929 891044297 926610966 114050459 726918365 115418840 457705597 534274953 633012288 727574217 404230442 235124652 615861071 161721098 515681691 767791301 723626535 717324023 408079982 132607477 447611766 395209267 420240883 580056320 631341213 185879893 385129119 640419303 579672903 288182901 658308894 387685685 663130383 901228331 198350866 718305629 428462800 708338674 714431970 848971359 404804866 879824527 329595275 104641311 107541505 133575373 784163599 334787788 903088575 442836878 866223248 167678156 675883825 878558747 162984963 210633160 485372975 853388011 157318419 674825537 571722103 757788146 586174877 568634864 143193881 637481053 935084993 495297764 354918718 903091489 113492566 993466791 115367312 196645671 976080861 727223983 853703494 269208223 564035381 359299795 390970188 443188017 611689972 719664217 494544674 752975057 585497138 462213186 717758308 881249261 582840537 884933818 496185089 515127616 391782561 644776461 885797998 965283116 945563630 370799330 326448451 643131110 141880660 847099527 896019227 606130283 960337652 936528126 929912305 513130669 474081843 267725181 744585305 524524569 451754425 382419037 533261256 804981445 647252321 954944380 194426651 446868405 119823248 613426830 970919742 979225139 429616701 974623392 574272435 782380849 576683616 133282021 204683074 473381716 375727070 773044151 813935222 425769070 596322826 977582100 537173434 267931840 456318682 901936704 510638146 904124517 916799163 648328713 409650300 510480254 584395821 763829737 253170242 128272988 276475729 870209566 196534337 340866255 694683198 453815810 225868471 351023748 435410433 625385260 900802700 758714754 220434328 720933104 962005783 591577042 835444502 877418670 477863312 860448042 925835323 551715646 958946083 124472310 738911693 705706586 470698952 179608673 971223642 690062232 601681767 459341063 961859297 317802292 593693337 624196206 800803678 834425569 864752648 887615518 871317237 773243203 781391486 854529356 574646884 955565029 872112702 515290189 814690182 986388881 417906597 247287436 859571912 164928794 176402609 739990272 724819715 672484081 989115481 608126267 695156043 636719155 924806246 571186229 148777317 608182824 470744384 127236391 367226518 971721561 388917567 232181370 790342891 212455966 930020995 217442036 374314910 770317975 502711757 202700053 252956493 569750118 263056286 677069468 904797416 805574499 849924226 712884728 472892725 484642887 511406630 697833420 379857528 385856017 262098448 756724541 262529427 897272679 195526822 926498545 570510696 769086613 263655822 915986876 368729808 812733329 532624958 630500670 194171667 718612257 312949538 176347675 144920901 899379132 732715815 204911896 113629887 603118258 334424138 725068397 925874361 659375820 953779430 834225473 766445681 797884535 278920604 686070281 519740963 189467080 571961044 484173593 527628632 581345186 459477097 443348873 802459835 718614677 163420465 727869243 402688446 873066932 132770312 465141823 584912672 736397749 246356644 157047906 166163800 479893631 866781122 610859500 505736641 723475886 771175117 693813894 524168037 354917474 171164213 323430806 860554830 891379213 309102487 515516017 547123809 393429330 709904239 118166921 785137410 734200443 387381700 385915939 495749035 244142725 477366585 670867411 464991576 299301738 935224347 194814500 195750620 264383139 276075740 558012997 424571263 826851673 362510123 854731185 790523536 101234029 998042308 377005047 708794320 698910085 357397259 713885353 735475795 802749824 431914553 838554149 915539757 643669155 784144603 310291252 451155779 882314692 618865354 978760287 501196530 156624512 734237794 289783918 195825453 227958362 976979485 860201145 800792901 960823562 788457694 568374197 768043825 518444935 405362704 266654331 703706096 529659391 243332898 855360364 164880515 735468767 215932980 483833261 820489651 468567139 140764596 367726625 451512384 328912244 306160777 613124515 275815614 300924426 318132555 782369924 369624930 568690820 510636135 464963121 369681096 386011012 850799101 775014313 621675859 753891577 434259793 329609572 943544981 938012926 743201149 522954822 209085299 663373460 802082077 382379835 377154337 226631013 470239138 712648002 923981258 948936962 472655116 897131178 943054989 537895669 790982399 683647292 998232086 807758337 955526706 808709773 580977258 885131501 146636775 960370070 116750099 413286917 950326226 173770203 830037376 168410512 370076659 756974944 135606457 688750180 504677916 811859722 741677239 906131742 711576343 387952492 219728664 856667014 403386634 996092054 643390849 604170039 837889708 455668318 563928139 718622367 583000049 475941221 349715651 481548619 181395096 717337446 210127842 251507959 296536010 657521587 731370666 349100031 706968688 576956985 408613560 507378160 532671385 746869442 118772104 421288439 960760638 902397900 687431132 338758952 375344469 197738652 101927439 643707398 180381090 858648750 829128515 764521752 196477311 311366251 807323457 407618033 583974410 923841013 897409109 936143485 386698347 834448428 589049985 150088647 359574418 640887533 729195910 246108143 207908820 104916859 667945687 739217700 518493450 632205113 996911916 172541233 178853269 703167951 297005741 346831346 175769856 580508313 629089480 773393309 798250521 324863192 301675784 214273233 730543468 484837647 827064817 752281578 623878002 916851501 628182848 630776742 533721465 466791700 801815301 159605420 999945196 617745224 389293087 408282505 216852385 629370117 983554216 198340030 986881758 718012580 665872387 245647438 136496941 938313368 103548937 829622330 528238147 629965409 510965922 147158715 190715423 470632250 912665625 815658221 836488491 919734833 487221275 297083413 712082174 287270109 404042513 737283237 193528771 152455075 799873579 840473404 446174844 115955485 227746337 526881617 384314076 691058616 172938946 427089601 850449941 960145384 514668665 138072020 156019286 730969538 160859324 723264960 973848790 130963401 645112736 366176840 211084340 381683074 430524608 595300000 462261273 300557108 313851464 242685186 777671025 644467970 490512260 532723859 195989602 342801541 881918583 324061274 962394476 900732459 287155947 337677526 346424139 339248359 986362840 791496179 562228587 898650789 513128257 756662473 260851544 280192845 233959934 920215503 232284436 279755494 761900449 611001781 848389737 154150938 828579726 666161891 882109314 634572243 297071109 254396199 702856993 281440158 284014816 489252495 866128637 723188648 976638264 269021859 912862158 743438524 420338919 452321792 416595366 296906618 644822309 787087864 296225356 377686708 756774709 865349022 441553544 279833372 275428291 627600480 886130830 791565473 437965947 446400749 102054661 278203088 640573117 644913319 106847495 185560445 530272630 712534662 414440283 919999291 773596037 326526913 171479034 146366410 670727190 430952851 573333594 532859599 742761473 258382660 859405129 596382334 145127916 809901639 100011007 305393891 532668431 874579476 328284700 243747612 296990267 692933794 462572480 611204668 386129737 165566782 660123832 428665817 256220462 135625925 839785286 454612749 486059040 646294660 663427939 988079365 979049923 311367429 580202995 202152025 280328972 578478198 309131159 795382279 341265821 246647151 458802216 580070303 990977082 814663166 777908741 646359003 436895217 639765055 323925754 423432349 945835203 787531989 104852436 951167778 217522327 926487214 812892088 849874246 712408451 410745846 978357111 432272888 743468808 248726608 707925428 320021011 741057526 484637666 807116626 997384004 824810312 588842856 311869320 882907084 581818348 519593406 979403782 492411669 915517610 391938896 995179789 888836955 131835544 838194682 677102241 435649648 557401337 936048119 279343949 564949107 450346700 416676796 836745418 783836964 502978136 122989107 238388921 485997704 621411444 312780179 796922471 505941502 120206916 627317579 246918095 939767289 596539485 115413189 205645181 474785321 168643174 726839434 185288655 256165974 669737219 753111430 292067049 708217074 784407947 580498638 537400979 655498407 392124137 568372002 544849077 715839086 896936218 304645071 233222659 690545070 963612590 232077681 809772248 480140484 264512423 616106475 238899216 992483279 691747770 108642229 311839208 983807975 371606421 689982901 842689218 750331469 210965562 438259981 632893627 529685600 365079078 925179464 528462277 323160467 124923359 575929249 391032268 510754225 179105412 106806178 638202207 839046539 465456027 274743582 174448981 139416895 198919040 972178410 470329980 805012798 497971114 457173072 255228067 648193868 588267594 807208205 170332887 795308381 494222315 104523940 974685849 579078542 132252015 956458896 695483359 386518150 396239023 472011217 144905167 773452807 689249816 984688490 940279180 746100192 342606008 395066970 959164697 618926993 625750362 597923734 153868767 484540803 872706996 271211079 502826180 823761216 889219513 516047652 667934672 811572795 791216302 425736137 575234143 105655955 954516214 234501670 961471529 871290928 595333898 995045046 932698006 175185189 666349566 374882614 559920199 298189679 857716729 970484893 960123893 765403521 485613639 629307398 678249199 608592104 742832134 932640898 813518566 222303865 207753457 368677815 114530489 311181681 877360650 754135532 942412664 330641980 622816967 499371258 894837369 595297225 333267914 755197962 144186320 823930283 194586095 521579506 441087333 617809585 263423201 395540761 484480460 538269044 790335272 945159960 555569246 620897591 247137115 642463376 677195928 330200525 308465163 111339154 570015656 526133645 674050155 592306155 622253704 872510878 709392902 136519126 312704249 931858937 759278403 954008359 777043041 728860274 882153201 465862936 488566659 533070419 110505455 750759529 353273051 156268112 802867589 154489299 232445324 451894774 707452415 668878385 145700230 408946900 331952721 569434241 297936436 813164684 244594096 664542196 278311647 159982352 331970629 446455531 803243644 676534292 665623282 805793281 811189805 235110876 196727982 934328641 515686177 867813245 378436311 439622273 704862234 441219944 535721619 612006894 148469882 987152274 290964462 992344054 629320424 739377357 833154269 933980931 308592247 383732951 767416092 841491705 996038069 789782029 501811088 300200787 386345277 590042128 576420077 991405399 589580560 644431576 931461983 271769821 844414565 739132734 154551881 189261655 178937582 200328445 888234516 289515685 974906725 180836800 988652563 161446815 926912300 269492290 469959858 645086582 677520737 790064093 332812638 127346048 337708371 597096916 535199426 604272750 244116498 888955754 796303580 578814767 430580988 166955371 236245143 971681974 392237696 669147157 848675494 453687436 710615646 455939833 609701305 672031747 221995789 269880920 322971393 386430998 565133062 859406022 990673671 912150285 863785846 992842147 742142235 794997921 631349361 207477449 742578740 595296695 891967253 991381732 658931141 757937524 573827915 541122780 973182633 477926412 899421789 844215991 878047138 366809870 663671066 465082464 542500747 496697711 638866701 636297220 914321160 996548768 144385541 522240094 668746000 598162800 425009566 606167477 332025656 237552937 156211537 186336389 721012190 654593650 121552551 446812343 604356689 640261086 548417425 418025517 265334610 154770537 203823650 915441931 749472939 911539331 139006430 467077102 181718899 958520963 519740478 565537380 569325484 322798067 965232831 316366401 365897640 167350531 219736151 357837291 949197264 431028885 977439942 145583927 341836838 851260628 426114173 505388531 403475534 704087668 937415210 700635614 819242288 231190713 898422145 736931941 721746096 465498804 910161587 201874191 120231209 629505630 341727074 446789822 939891167 725425714 440692928 486649887 570682019 980366605 281376481 380046841 827410042 131987414 492487328 963180236 724474826 519905981 314329948 914479619 761387664 929138533 927393740 803811275 149984051 424415593 360761998 600801996 568768574 693707666 215959140 585582182 813708176 945462500 164514480 231688184 905727140 851429732 336172113 591194399 644510615 981093439 634944166 295282368 184695939 157232771 516838341 756121000 893442073 929342075 344617814 261580157 811197399 175447074 931478393 867536729 484396410 852408735 853124612 966198437 840868983 885808146 725007453 749384528 248205965 286359239 117767116 730401982 335682412 472953588 494579521 842235985 231221388 372806060 946562600 855071213 584446554 148969051 130871575 274000708 140990963 307615862 515301451 658446544 137579585 163706343 738912056 601381066 786856351 463270353 410507652 114782943 535612005 517727132 733029456 530515541 126128637 956518215 268617828 830011352 452888713 225007096 142511453 644478692 298420898 334067863 484392374 996781566 970280104 412613241 415184604 246008908 703047329 200187253 484165612 401469670 860064942 350331979 940002606 115213901 736889852 164342590 478779334 916185419 360318826 872601948 349497330 409652866 339200863 774682726 255984682 674297032 593720750 996942257 573901729 868938637 509822919 923987106 224700689 440531515 257667772 408640540 571089940 764078683 833121108 120572127 341245448 500002864 601174391 726738011 211365375 804374772 122102963 666736834 788286118 723822686 256002800 387371462 804201018 146882936 872659632 311952307 885604183 991454292 428370700 185721174 867097138 302547771 772448984 308904318 757778374 857633614 536703073 156747834 683858125 746882390 310817262 441094633 801217433 499504721 996491972 458821425 852515437 647814865 438576179 498237780 101346180 679509968 135031106 182187896 564528041 725229221 825145363 358586772 644145174 134724304 931076458 433512004 293222441 227003236 606589330 570026488 918069765 741891485 229225458 716807879 499022379 545865489 329265174 519469728 645166715 858714231 900782651 131504919 276115341 261069313 551221578 723670794 531600379 970874663 579071145 624860576 359884655 578929953 579144550 479794166 852777838 389151518 988253016 689819729 600027715 117971979 603517745 876611405 678400301 333099410 707414047 433743325 236020829 231750802 800176244 841883413 371890652 323569594 880589422 606450944 892239472 716530606 740019960 550118235 184095331 900711419 653589502 524589880 789636492 101665351 153077978 525550991 975528641 223483004 705573690 199858085 908187081 118181162 762878574 178853116 237090214 218185791 933911751 461120265 636161651 190856321 598633934 168603040 829251339 245470738 477334930 765501380 293239665 914273530 876202350 155074045 201798775 565729303 785972287 513509974 183207555 248469250 740721393 189843476 985569782 555461602 962598445 707867224 956364286 312185472 220133260 601646002 923073263 821761969 900621893 109852407 989506682 959648367 323583222 358406619 284407422 227656912 334798133 863708286 731774306 344491604 157595988 784249682 620054540 400294448 450177243 959727871 135938931 173049506 806309895 909696154 896082656 479664789 748948298 389577460 752189613 295527888 601046324 110682666 843851819 473139787 914852945 414533458 534366207 647048660 296877376 958007595 672642435 679147053 292484239 732816674 563034592 749459172 760844850 346777930 134331807 367620313 502214731 249691884 371089144 479300482 359636471 202281443 952159740 375814010 225867713 522576164 327418317 325546005 501459845 120213076 246424294 711629139 357519752 214992587 862849189 822490550 175297047 755577340 513716720 393691310 264254177 774628983 420872262 793378216 782137742 540936907 973331018 925542529 291165941 709017916 768758794 902814763 430199829 836407002 655809620 628925816 658945691 580089230 333098845 495538075 916543838 552530349 641179751 293512426 628300362 678058658 993193652 604477019 616269448 952694132 424264241 771137489 935901519 368417502 582058070 376568900 104177551 568381634 975695482 502261632 528789775 742119069 125136395 652679624 354746022 961937571 995842355 848036011 138590765 538855121 633413553 918896934 844254372 452718826 671787671 711991343 791294657 389629999 136257797 294380182 177543832 852368365 663991359 845983421 848886716 192484240 761437270 408070912 885756533 378796319 663045231 194691847 689273076 225213357 692314165 179093183 727355812 368839225 996558147 555705646 913101493 178387942 458683894 127336521 488594689 929910386 700310801 573615675 294291412 319454828 774784464 194469316 994079163 246538547 645319126 888961970 238203128 738606915 983975316 405938420 314353655 885328493 575601231 581334139 183143991 610652306 613096545 311608057 847827689 472409915 831708857 897882307 485934131 923354211 691423912 963511836 299504838 942939328 444144156 848398911 733831522 597654003 727891388 637027042 136632191 223024790 861828911 211632425 284712450 454178544 187601087 210075661 706977871 748399887 138706623 330341009 961606020 982322019 498799462 994595033 494273755 716515021 411170153 612449546 120478236 851698785 648815447 462622795 426521934 904468368 278980504 749001556 105020712 636108421 154495631 995066460 559651431 977838948 393975053 162483899 306890628 173231458 115832309 922067339 848393572 283353349 388313466 800844238 119167720 192168869 712906053 487558113 232344140 206489955 525548165 787935362 341531325 133191486 521089569 738798930 702861112 503773841 884612228 715349463 685997374 811217042 798299752 985834895 985378188 519106249 690235257 234980044 976310318 288845214 296181473 618839926 502854996 176837656 101826120 695865164 722037242 988436187 126357394 432695806 326981488 234507408 998348912 454946981 513386400 199946389 240006724 212446513 160294009 350030307 123935822 587581893 506773036 963152604 467255241 673743801 584691291 688615128 684889514 405226166 306354935 956728862 869212773 668054759 414725041 742126491 538758173 252473938 478931763 487867792 802410788 112199979 332240768 718615725 501868596 448709485 326181052 553569626 232785182 627655237 865180830 790888758 781343372 191495562 699574307 510816741 226220763 254944240 901541863 116891672 278344769 157390255 460290727 643845722 775533538 201435613 914351237 964596439 821176683 350508500 229559749 149687959 145318394 279063657 237546492 622347205 840008183 511768571 639859095 460869651 716570454 730321310 659338093 239039084 707224316 426141937 150207542 651821943 885288447 240852178 960164148 761848428 663077907 546605714 121329887 805352219 301052375 773976273 801308242 646154828 368500667 511973519 659998539 302061681 106895739 271641040 776917131 982488506 793256878 716993743 697262603 433086991 681734268 971182248 392141054 867149272 142461349 561337553 244193798 563174266 163448431 512078817 896444349 828180988 759015438 622391529 747343678 188233044 296544531 383011374 121180626 591428286 986907694 483869587 348537246 385429479 318899667 718565517 973266098 559710919 775894269 326089759 120044643 271626822 455044668 201792617 562217183 559242001 501991317 859010369 820788523 249304181 595843438 509366289 179880182 860273538 445612255 584244096 992355700 569081390 338457047 880128753 567733653 863458550 533602395 998810404 596978198 803028156 195389861 885506788 463128565 531039757 629820992 635485174 580297096 762791110 547663968 706652005 513493891 236278994 476892074 917583854 847832866 198081664 402116620 766561428 773666068 795721335 351587550 550423838 883763533 597691010 319380944 841016265 990817522 162103804 643353376 551239860 153971325 989838033 342975114 144688373 314596345 873856856 831361727 816991143 743337150 898697041 240351043 519661002 167552830 975340513 672200115 320388246 298658722 844870376 549097991 961217731 957378918 445793147 795866424 917754005 360930987 508048888 392932520 928150105 297335592 728581676 938981321 984415325 403676235 500610859 881726289 379104865 292378430 502938102 742079679 494711943 783149596 350675772 392400177 634216977 702678139 502258928 114379540 943712616 506360308 449399818 211365049 272804733 602188884 167604676 464872699 841675273 323693387 907670575 270460807 100177076 481934494 360302090 176824182 602679420 728632045 968402235 565238097 492750001 714096187 955182176 740016883 961266470 775572483 782081674 609744374 806850126 380352298 949956829 298478872 964882389 607748445 485431959 247125975 789118665 961392671 377908591 419444133 166574525 736447093 697555200 406262596 933138676 880399777 854192039 802968557 537109908 341857101 393048406 453770512 695806146 895562465 997654382 326694204 169070643 490055758 120111681 317839516 403373930 554572694 169310067 728927625 683031853 801551772 388917032 867742605 517950252 272367219 312448022 466266794 239965340 507676763 157591171 375638951 197656255 577837499 279265915 516567515 368682613 694663788 352303969 193223148 493538978 718344765 324659000 646706836 914361808 205355440 594603807 468172618 976531944 687833167 285906474 461256138 598986284 465583467 909676680 762361323 648173566 714152247 580080323 500468128 185079300 343268901 425800629 517094060 994527009 638009403 495512968 774919168 288439708 406003733 599657851 844561687 364552899 842093573 794876304 397855651 387016910 528456660 442430431 354915836 731176014 756610418 541930881 562673592 652235644 393609074 647216146 251988509 414118604 755524037 573660203 441373481 180122288 588055638 755549734 442965678 695854441 150296273 350904953 727691310 347817030 449048713 894121948 890233989 642275327 234875726 654424180 223201471 677462249 804786229 138886417 766801159 441448504 520848625 782017020 913077274 302019259 820300442 126745242 361416663 368304933 795102174 943191269 249109899 400642111 814007835 937709821 313022786 658135837 762164464 652611522 314589593 843249674 958781006 666226837 127165005 716895750 234726763 178202126 975076313 207463884 106113700 642792976 987096898 636817587 646023873 479585534 226095153 539485384 298814113 515685424 261233581 254300305 401358756 600473883 844915121 293402691 943926227 166031748 123762648 675835837 548161448 714783847 450457640 376914127 318923695 333438520 158102196 171106752 110629431 106947937 111444133 185507741 316426124 244984740 976082897 192992855 242881409 663406432 348193795 108311311 519510004 608930453 938268582 221716822 696118158 839928767 816473402 834952877 545116128 300815904 145953780 450659420 583092906 485955542 325223409 247569135 940160503 281324322 248555754 449845965 883355480 329292261 407484652 647682874 507762840 971904786 485820378 790419389 272024268 162964871 111441713 574223577 424338140 687615993 553802873 689031561 453002519 716179961 600617868 705572698 903056261 198608701 708550896 107142006 695570751 743744679 398239005 960521854 345065236 115777987 630110799 221649522 119018101 892027724 199348806 118443673 198172165 137545023 138697507 790023177 654934169 315995843 938852548 388257435 850416102 597069370 685022086 648866727 907020271 931828165 620065144 907508447 445242277 728954185 507144691 726244584 838812533 157134263 725867757 197135314 485103390 427884893 962427741 142535581 225476414 222120379 983299482 160455483 755464255 434320775 780182715 992154079 595659117 876243310 428170394 812085744 328868750 818299613 806810798 909853714 652185898 806170837 619997607 806344991 864179103 629326135 108357030 365627120 696140569 671458244 376681098 736062564 256960408 193442372 545139998 289916046 743510222 894716318 665225907 383028871 493949558 654742854 730627327 171243855 851123745 843503408 837808383 651808420 866389148 171559646 251434532 518213947 327047985 888587971 942027826 885295551 830710152 309813403 414198904 783150840 731201619 166474996 841193007 306830274 912931185 137475532 400711424 917517734 852663170 278038466 592457809 184931685 650650450 249718203 522948197 924234814 203592888 812470981 906311863 877899221 564281170 543268191 515569895 613618000 914686671 819851807 825479792 858279114 882130107 933664455 232339721 397063907 266024280 844385194 826576646 660296895 900133677 841068477 428973380 909774330 144465368 902119430 358989007 591162846 728536627 447566958 753604611 311096277 483686701 784930147 506099874 243071345 477888753 737620848 519537677 606475633 802252414 463365244 343369884 324237641 463809025 265787179 631502920 350214263 207178189 106556228 353955699 639335253 600368422 271377388 862540427 982590325 144577240 418868475 256319337 415169000 179393459 636284061 675335935 677263960 318406917 771305589 695502269 769273445 517785857 934533977 624847298 184670381 530564308 453274789 243223535 287524391 209517900 341603998 365615153 823738370 147792400 882627475 598487458 613989677 149550720 357916111 370471926 692366525 567882154 104131975 984913512 962246087 896558755 113578307 677985377 944932415 230190981 988580729 524452288 903538704 182140806 333091721 674402144 641625574 222250040 550523112 398603215 319254676 656786151 802454406 208344832 859765198 429491928 788206940 213020253 936234747 638788383 638770420 730786708 242146100 690508465 495251879 318561775 398313228 238977996 942069058 327357740 749866300 603866593 397804214 727987913 639106747 886899957 938959908 816279279 435644202 727514050 736328430 454132079 264075966 917089708 667105092 881835128 122023361 583852075 789277552 278591355 788750644 639672340 962119202 125638648 263098871 220469171 139667712 527483578 614255182 425842460 956209601 209234829 235347857 655060685 714451188 410611047 517015986 192016251 313691505 547388099 655681072 358413261 842624630 101459264 108929037 673355863 514824555 656739785 161184463 413362743 692844579 125806225 984626883 177813170 380120790 172644450 771919657 375165554 701031613 911289422 205864714 926895400 401659508 331380224 109191069 739892816 766509507 772739636 511170846 188195246 498095714 658206598 262830032 838178055 448295165 768098014 580102051 979244541 763926781 881405022 642896294 533708485 888833391 127975761 288219598 540279065 127925632 267453935 867760087 839960567 824909309 766275841 249076195 371065218 315043608 966828454 775672613 973683806 807872867 520679284 312835132 713030819 563921116 614800343 765335817 231558359 939782002 466226579 361969400 872576999 959429665 880281321 825569274 706961260 399649495 519741032 540467710 643750243 243551888 606115483 558981808 106523868 987157675 826174474 473672709 191028378 324165732 472889257 986687584 366638394 181908621 906970947 621180856 639330580 546187109 473335048 510956744 336783974 972117987 997073367 196046633 927321863 553976386 987034971 867829930 653691666 916694184 392588211 181230116 221000357 381023988 923339844 117548436 253913736 539422816 371610079 856372289 412437984 430145370 747256691 982642805 143756432 112342389 706712975 663836289 790049024 216100959 524865738 282833631 808222925 216715855 670624648 582253489 799121452 888083433 326282344 473733398 759795598 943312466 496374330 959952617 351444270 102707013 569221795 878138043 278758036 912572645 153850114 128660919 132989410 611461571 767969947 393213403 711061200 314497938 976837081 174991690 822405962 252171008 631182719 336043800 366094941 214990211 887501194 245771722 936666735 666854988 190094456 814211962 144414164 692903784 470520067 337048549 950373973 459871311 771464948 675535616 861265443 895145734 647700401 876812844 812474609 232455701 868450738 758454677 474407526 833477018 968108239 981444634 324168734 744145700 699869051 315978515 729644123 868508550 859868541 185226529 903163178 359159239 240687803 134680911 999711114 642384252 311032774 964297405 893271086 202502686 344677331 455434987 182963312 262773163 171701895 344718289 102147397 713249450 873257135 175678786 653758998 989525137 787155170 671842865 851273702 588564100 459582462 252257634 217890058 957212715 435199305 822921728 260164475 193747360 993486153 833049432 149076734 612821562 109863322 288226311 467812982 924189167 286722096 248163323 772927463 656976776 661606081 624564589 892991569 849937018 247508514 433386548 976006824 670844961 920813847 671838501 571780530 772913488 689092211 726331061 683626227 626538072 736488573 687845874 692968043 946086213 129904234 802250652 671457758 548886493 528863198 139748338 605595672 812641754 762400668 170620188 420137943 737476370 121593712 261664757 435370159 354611647 190000041 930226070 104794050 556076742 120666501 661002943 622898276 240911565 675462025 961463765 189733801 933176196 895732222 779104205 703688437 596394360 230808681 677607389 575385617 956471631 550032487 745331214 886844693 462384083 640137174 280220600 188686832 295113851 486482235 444689720 151992539 872803299 688486051 304618063 619339369 449374228 380089900 386386008 559146655 505380398 310136192 555933990 904398279 913543098 629443330 504733455 871155574 296371365 750143110 424307176 243886071 972005396 505662495 158898143 547700691 448956822 583825655 319473452 509177449 201405914 427578094 744622788 871181915 790277065 423586184 808447539 400070024 906016449 864160786 349539373 726481110 549583313 692865770 891946553 776697051 990006487 214769858 790500229 539404335 886146413 284443748 921244148 320950571 963738743 792529049 455520714 129121622 629164230 215027439 671127121 492030791 442424750 610677167 840669736 120814638 854256371 228375244 558721313 206719378 867833024 228168381 839103470 434891381 894732405 556089569 396749113 173602233 975031843 457223830 345081916 751960353 229608789 936748506 119777719 496258662 630429710 526095586 702478328 825255726 340092697 821917331 451495587 599103314 269553282 712331889 615398797 866271026 544964997 854682686 262412508 573199523 643072676 414569068 394568741 441766272 886199868 623915389 174053989 498683913 801846993 418328656 982760642 177836766 544553278 386140027 638842449 973519362 433652097 952328778 203727076 377710161 811046738 128093080 919960267 346102227 178632825 290671625 546148017 622549279 759719961 695075826 553845668 472978395 349615767 425755615 778774811 926869905 378878152 322505936 667432621 656554708 526210501 475283750 492533813 278116599 350354251 826840623 120198525 889319457 410098248 802727344 122111987 308753803 723686274 220073021 688120488 833969028 971609465 639276436 221121808 595724481 623909482 978629357 554742780 908093950 571957461 771787834 683934261 262886547 146653478 639885790 509213192 403770125 372246421 354370799 292206888 714850542 680734739 965296547 966934662 807731494 793373408 365427112 539382919 202488600 648499422 737062097 651803844 245059541 545397728 270341059 896672409 740428961 728965759 181640578 505427989 955503520 965261655 867599121 981623276 605145595 287492559 809162924 633099121 819508382 900840471 198782430 101334073 824573398 706626383 147206659 119298303 149676386 565833948 210759813 282236958 234122723 223491224 736432975 927757890 975253684 157357116 982543739 702128458 375322014 500803074 706399424 676447894 925175495 828644819 522989634 948210029 229592466 842632135 215630898 797454241 781983709 997737297 878766304 399240723 688519586 338801030 594940441 560247751 182149294 533884790 404997497 107525290 433666118 361940089 147060556 389490656 911207222 136287462 443860802 958771013 991723085 791947811 105799262 286956327 990891662 581311882 755657195 363315677 869808811 832687669 652072327 800298975 929886482 279166459 247387508 374657241 818483194 526392866 750490496 731194645 972718341 807735685 570414054 179869866 867631085 606748691 485579072 691995565 116718270 202539024 983019646 516759737 898174672 639561738 292752070 106673499 225453538 403266127 973879560 322001355 520480671 663646125 628992414 196360253 208528211 584146690 914717455 433386953 679361424 961808201 595791593 311189977 136487971 340643951 572663523 396028881 727065647 743959361 666278942 624968259 792126410 739849241 316881449 694311809 764753359 394425003 999301961 597478096 960577893 807614923 138392512 441814686 602336763 606367671 510517823 268253207 866582693 649566212 686120472 776234899 171184489 930400412 539487653 163688560 675150150 789642992 516896311 114043080 746483941 471476877 339118721 147668995 709903198 157715341 340791105 536338334 900107174 405226031 636816329 413088230 751949934 393623235 129525117 442402842 795086650 540983398 497088986 843181686 309541898 696628572 232136218 182615234 453937256 642544129 384546013 586641853 297958445 554058794 579328806 164781308 134538940 819894760 260840198 573915123 817067478 510903171 938860952 455901447 347018916 213518114 245760208 981740939 442572148 524877791 625001669 523842704 709293087 964315088 537021153 148994387 179834476 593113025 722936127 810234870 768747743 825949528 458040603 358159358 361128620 500183758 147550905 594705042 660378913 618939866 333706566 804188955 480913370 602530355 533233303 103365037 543142829 334877960 948576506 127905325 997271831 446285901 955808957 968385599 661949558 428414490 440496018 700617071 253719288 915859378 352085716 961978734 990249989 137156789 534574895 797769938 770261289 370700015 862887289 605708830 185522694 878763246 847246996 816111845 572774637 277585857 838178667 180687453 202572877 213528551 851788297 114727818 405109043 633523272 496818157 253290197 636009002 211928413 308221748 465447871 832195559 205617983 786825395 109277052 613646657 502697581 426152812 837695642 795305185 161681194 721645826 605195726 835467428 907537557 301824624 275972336 722615542 562444668 740757085 141217370 675853179 802771461 648003596 369575466 899988573 512033682 771876122 831233855 256687586 612994218 886135173 206396483 965814471 360179728 139604322 819832007 559399843 331415237 345513951 308173502 638853929 743283714 203106960 276186044 499366732 848556601 522086234 674943511 866840015 110338463 520790454 984958730 317174389 598276322 232865865 680361093 643663285 497514441 331607327 221013819 406802124 787931477 640558746 809251384 479715213 566717511 723743326 929033916 598277157 579964066 346780463 213313179 575169771 213863197 569946396 444070308 937693125 855193389 788317463 883250488 344346738 676924978 161792176 559192332 671925366 694829494 733370019 724217939 600225986 736249457 571325104 857036092 313964987 617072570 990017385 487735531 142251053 634451662 294700452 914606283 447878471 760922539 226022094 410282981 389387173 471818576 955613405 820351897 807151795 453988947 339378179 953813834 367922469 929703980 578627220 535888133 201627025 525105138 961244453 852556847 302490116 657184640 681292357 397769784 753478420 393853493 815696452 354688065 464412952 228992275 117800145 728863376 588819142 259068582 521192503 769243657 859175908 808490278 100331877 748443446 326457340 306790447 836254791 383827462 259455725 899526168 916474986 998708609 535429328 590801445 764529236 997232381 298087234 272026736 213479979 927187082 681272728 324670849 726586199 350005363 406062277 345992529 986990289 809409966 918994239 455317127 704907069 802135268 441239867 844326473 144713897 757125505 693460316 883556027 507258140 492789601 709363333 491211703 315342349 886017814 524138318 768837774 902236668 523502398 350449927 924564209 854712928 452802785 267445735 647542173 362152518 971112174 124201604 536628160 605391311 587338421 967007251 887286195 659243110 861015925 200652222 181070705 196029102 838540039 248268936 876444025 361176674 173189551 203640052 997075631 353495185 368545568 539385168 731699229 268864562 848160949 507318315 460120931 182537494 202807800 877249862 252819989 953274408 566399948 443906419 701830512 299746750 288688761 960429374 690610777 165386335 916826339 444649464 738753863 701238534 242260158 661659285 570240123 204933102 577124175 144503358 871868549 482600878 188466871 903592746 752431244 555061749 355268036 530816159 575702793 958947108 463267278 284850155 377414822 925640954 746670205 421766093 648311659 608382763 659645232 496965695 231967689 636168541 511608457 919769460 180340575 682995684 996022469 855180823 876228014 802480843 977077502 481749537 918760817 523864615 524345642 522893717 785027261 807819212 690321529 588842710 193281542 957156417 471324467 867131299 396515569 766547228 547650376 309782031 585928807 378182869 397843210 947217210 131461171 486408957 791149914 289459971 669201429 940643033 814069198 610899988 609273263 996390320 294700243 562015329 168589692 450843962 274782280 448119094 986145456 548873067 398019114 378536715 408040032 194862529 104449447 691843204 710025278 116225004 942540235 347901836 534108564 898290733 100074305 504136780 287860521 816505259 685120722 465342606 726809618 897857906 341941020 393783904 854168427 474433147 562038296 538101836 406554100 502584644 740356896 689065400 457889774 806977642 634282854 329313082 155420799 483150786 184811466 966463047 628799919 668010887 475434558 360114555 658369942 119970262 375363778 842353506 950209709 477015978 333482459 147968357 812622188 129915620 725660590 275062202 239640431 230703861 784814983 667460178 975799590 464156926 491829340 134018989 724537056 345647636 756349079 701889569 981502996 277132312 259188489 169733874 713511597 894556585 265428158 131814658 854616944 679040415 630659124 346771612 377567745 890656449 577892934 310032662 119006502 595932440 120470668 274768994 547756499 870609038 279599076 925345557 192944620 989130576 417579705 366400896 307138337 766714852 399115089 146755304 871646022 822948432 144526423 129242996 476711680 643690558 430277895 639269516 731028000 825074477 230027598 795478975 582700231 685437775 553612644 267776080 885247378 642821914 372837597 217202309 502203932 501835881 877797603 604128635 397785624 317618399 187878716 772224887 277737455 486540706 705939605 734596293 865057783 263463243 234913571 402184614 990672033 443394405 742835651 976584232 233435952 636424477 642361318 746460323 507743577 278679310 335166175 855613841 292024658 420062021 921402202 357264876 237838630 508319360 221736470 226000707 851347477 792615432 883399956 991245038 863442372 498862397 229049954 965163077 331531837 638349640 624631329 657145193 563558368 815417652 878393986 734393139 277993473 675032909 726564056 302752609 362038125 840792765 959270633 408050827 841017113 863969561 573601151 690557120 888560614 816396657 409740671 446214722 719337623 222233782 831195359 377540013 861485175 272338813 954860918 545745137 747987546 547142530 189615706 365380399 358816802 294626028 633889294 767535194 700990352 330927153 466813244 498332488 720677711 920382075 717792270 473469726 666756332 298849079 732130806 655280632 733178893 484276694 131750343 919670351 433343573 402177596 236616128 520392339 803757966 495544057 141611724 362055078 629087123 216750918 772901375 412447330 511304096 499976912 432984951 157821626 906589614 775828650 685287994 790812917 384474474 820371128 966303031 310318415 750733349 383283778 861952057 383418564 472872177 226353523 797723454 467302030 603003379 373770924 601158249 414588694 283140834 115223914 273778089 530713760 829011385 383538898 163705501 779765432 282728900 324397583 897225568 187569760 715120280 222019210 211180160 604691274 195884744 865842470 883288115 506379714 777067020 767469960 972141399 868136374 762305018 455003786 799617964 614745966 427979106 706897241 210568922 964621660 281983060 817344063 257446686 844998374 940256530 996892420 106555446 693855366 929311643 511995931 390655570 668621605 656179917 938720373 368186758 308498947 103280319 714191439 324545277 794740205 802796163 438781707 672426080 711132063 456443369 166495170 354166406 571171287 886443669 214212837 648385606 492596668 394124616 216122521 537120537 152463680 424503073 620605390 409842614 618791083 221969371 532014861 915410772 704232873 610692141 869495497 299329716 956946386 338092583 278773559 307905346 976890132 134127662 670941266 446549162 400828574 927775166 301811639 806644247 242334605 377322615 189895034 403070214 203651975 249547216 124186719 751934885 316990774 102073447 908627872 744435838 626295751 638789798 580103480 163271017 109605534 322238636 564929796 476203148 607231287 217865557 516272808 451707668 280954744 487389432 629249998 818044355 878374968 503409868 221293904 751989095 841608273 553349106 689352836 309466219 512893376 605373840 335847002 966457644 553768969 501828702 482391707 170886168 692500301 944505572 558030444 537241022 451268325 464352260 477523914 480355455 683969515 982312621 366927046 159171217 704575634 113327406 315928614 344180800 862335755 671784730 494557852 492072136 735985715 628802970 252904455 867899632 488305663 334465097 963127802 983090792 928574370 703330872 202252244 995777743 718438509 279836970 154474905 934124995 507943024 566875136 963351984 608230125 904465629 977718628 955514506 270865114 871562683 291807568 288866861 217415764 790254759 595803354 404981862 937789569 765972545 457133828 320312663 598456032 630015274 807932723 124800087 363531634 353969991 857646495 122781761 279904795 996160391 409245403 500302553 723468125 766110487 389531643 982813634 736723477 251054203 175243473 795524532 573040713 857775913 773588753 327920315 255409781 891016519 595104656 136870715 782634721 224165831 382514632 547528248 576005401 360873819 432106813 636391928 761753927 856010392 128405915 669593308 366803966 462178055 600560081 536536628 699486059 166505029 794783454 766614194 211824772 202506129 346361864 968389226 887708762 246951713 591225865 978097376 975414439 536924455 448310272 303626563 791592728 872490189 271721515 280514799 185205387 929781204 798951697 528591466 265250573 784436852 407125196 413661894 821853796 320562915 648671040 953011305 502268908 576096305 896166918 785494727 757190150 880003830 146664156 309524193 878316473 408912629 816389700 516582295 900910172 185040294 162949915 274448264 802630698 800197321 121872849 147554857 605925286 371624003 492388034 260142829 938052733 461906201 424795408 781475934 386796297 443686768 271079665 366380698 682153828 733004304 683897490 361955505 115487502 253411449 217285390 383630553 659506619 967836687 729682770 826567321 818895080 414468886 471850352 668753296 958231750 341828338 324129368 740861924 991511488 199707456 325511921 446386585 876721241 212038635 873062973 851013796 457995059 658466024 982367698 975072928 150299551 566153285 473611393 956663556 922090855 447714639 522962862 136609789 681560705 683122205 502773267 378647610 117644181 787523689 243771317 322833988 562317031 904290824 452782291 515820680 503058643 621225180 133775086 209662805 202589739 478799693 750321679 357688264 394836715 176195978 142452519 702796393 930715361 368104840 719150104 671258413 164277885 886421064 294175720 379828102 230818881 723515559 328675447 800723734 666030428 614552812 809264509 859043832 195855908 780891503 436363836 162184178 674855182 762542436 740444020 184644200 686357291 912662388 999892512 213962107 424355147 725713436 898105401 572521609 727934593 501891893 548105246 666535315 807629070 954662028 327972725 998216795 895472180 701855888 906161796 307866947 942321610 621617110 353456861 959864101 763749998 627260496 347461575 379253581 566507120 112207080 914201810 545100164 679866940 329147784 735635436 329609562 339916931 877749374 454092134 448363465 954883647 982814112 444811097 911371049 945886022 417778843 285543697 323268640 957917856 611973045 658076628 678456959 274442255 213836326 174483478 912652853 197246585 307957928 778135429 421086089 454372845 288495349 332606425 530563302 575201054 136872821 980855457 642976714 356621532 680846094 203800131 521252495 638638460 668172929 291271583 672235425 259547739 365396690 832205885 260542870 633387236 721169784 156081982 685150266 386146855 104285414 410773633 553443244 174833392 460331911 893677328 584117775 490620991 423133365 214878403 387365881 913197704 649172489 644690380 714078589 936729678 942693695 307789463 233341324 308381239 161575476 687382604 769106060 585510381 222700080 389608973 492131566 986738371 854038106 240074295 514832406 849724867 168001506 573117594 318726084 599515886 222995170 483967734 218245620 534200661 211743948 266430860 902716748 273944815 486158382 453705975 962516258 769922319 433850116 290294053 286561294 704188804 969718838 144563794 371913910 526062657 888648282 999781924 489415912 596219983 827580802 392154306 177177265 881397952 366673237 536651612 876428220 220061442 492649466 830055240 170259039 722719238 118147855 525929577 471350209 746137942 913882111 535594634 558573076 513001413 995066889 998368116 907739468 978984372 749710165 725385451 360387705 619251837 119332724 279239352 674822035 159849316 667978567 534809834 578756561 508297386 768521827 279958304 197853352 189248887 229676871 619081565 927495850 273565753 555832560 928850778 637290690 171077485 175487032 179863726 906875062 578312940 244839321 879835910 955952697 982888587 532900162 632893820 990607996 484310663 142608275 514427173 742364479 368515261 112760771 938113797 833976844 301190606 440793303 254543115 435578823 770840265 522751414 472079385 918634440 700356842 216214480 997180570 359775381 832184733 514447814 971135102 451859024 428879536 470907894 147820285 370645145 164821916 896640518 697533251 793256529 285510751 140248083 426720117 980243435 156071186 503512100 544694545 166730201 682446511 618109932 860743065 812395914 185387268 742102420 301536685 235218057 499688219 424217985 161885329 844127752 492386976 171596272 911849973 125001430 423807327 792442011 802506915 404872133 965718533 847406823 349095170 105667568 783725275 226896997 438397363 390185669 495323426 997382509 171174937 807713034 999472577 819776590 480018016 864381937 956738451 674279305 374495608 634447830 163750486 562607976 125446747 421675255 208070860 521180867 789694315 430083630 753330835 763508165 740617816 860320380 419402471 758053270 444628134 635153081 842921721 328019435 231781616 501178888 152053745 523739175 959409291 327897031 728473173 584006296 500460278 898441726 491217884 433529225 246433163 546711990 354260674 145044704 398327270 469731701 819172278 413258976 141767970 312929245 548541949 534527457 915957359 381770079 436462336 571892143 549349156 166716237 912369721 366163696 733067388 744621351 168564729 339867767 501982928 409858675 260607124 846866274 690550103 952756041 720579560 430687770 555005217 209400871 551132730 114427083 343652504 501230981 400359523 172526583 712294038 291659002 759495655 498383120 393077094 884704757 944662894 209303365 498679650 474747463 693975201 943593141 681974381 355236305 365374313 865115877 614028852 966179526 803090998 190077083 378168352 900542660 283563730 616753712 921353268 836829493 568671584 665171527 135386887 178097337 438680087 111617366 134263782 894984679 105228103 339434933 791897916 355254936 496503416 937311261 440374991 509082581 985329612 405288319 926367415 372587702 163542937 171097015 164486245 646354085 561050186 421860045 960406681 732913805 142862040 122686511 261701080 593211158 381735121 170648449 953038404 793945020 503771582 378779564 820096793 234349628 510774943 318785343 368916112 625856899 592530303 978948619 358576983 103944341 579618010 276588547 908210507 579224439 262684437 509698273 525884943 463775601 854922887 943764139 963175597 424653759 709690060 682401343 260743400 508323309 248163511 873263997 424287233 686622831 468147885 973929594 243635294 184862079 423861790 430327450 491295546 375545749 523021322 973871109 373680893 166378251 149378853 251429634 510137894 871174099 958709378 367130134 727636126 627458076 557743034 949742899 472348046 780322807 612326683 666430826 560734067 238038022 137219371 157639822 240647030 581378349 265343805 876924309 461826285 125238554 860463449 804141106 906805735 799855228 348282036 642776365 977279065 861133624 645586361 885794148 837478473 361961302 633004429 566798026 523669441 179813716 299724346 518117429 287132200 318963125 572216305 189373031 431044578 564163507 955946740 815880674 462110098 674408777 721890649 539930972 301022322 858694066 915635957 861437831 862105338 580465636 378690363 436428453 909519435 481623599 182612857 857232792 242417797 557784750 690755428 235418405 161270708 207141043 293953316 909927068 725325264 900421289 613218786 482334977 241328355 574279710 566720097 104131508 854518889 311980357 499913875 222733079 302624641 789693890 130830644 778798317 902150261 308983547 826698107 140311200 363027168 315501088 271060200 593992523 276552495 945234893 807487403 468561002 778089571 787018872 329705281 136831915 384750832 263235260 213651151 238364122 475270618 972094117 435313566 715155994 179462451 598039701 835720764 737805094 530340505 318854492 758982919 743843571 344285827 599605917 303176193 306276336 667673569 924858480 131715820 755117654 824668796 108733494 200715233 258880917 960185551 742608892 461705891 740535232 298535011 468710046 444253907 967039215 317370873 996812804 484926076 986844722 198697166 998945640 663414922 781311803 408138591 641450153 603486803 168795931 824950114 296599102 862005824 918415056 569262107 414558104 517969327 392052414 217860999 163196280 126129154 143009933 794467554 789323419 213540035 402848990 812844457 878761576 348150798 684093094 293336235 230741716 550386338 889542430 340835874 799129447 110423145 884041484 771974989 237209124 203486607 683657369 138088265 866105916 303457261 199892018 862767688 929431427 577440613 483475111 886238283 835040982 354206072 267395259 581373487 786750293 837443286 669307583 636680895 646112471 577989401 270310020 268930185 407866070 343445988 201982288 516183426 816241508 743618442 393558066 898508900 269645984 325179415 162213599 738839647 338027874 899753214 110215721 997388784 393992646 849582314 898802048 388343853 623943165 138953323 385213151 772937871 426031188 768109971 512037641 716210473 653730984 694551819 970011336 181126196 219073945 837252873 749012265 837305708 746019891 835000037 608833626 238975989 456076358 333488523 865988367 502110428 376975182 332950355 502471641 612064888 679791039 160258683 679141784 201091562 355127928 892940609 603556721 789777934 624425864 828981563 790502062 281005468 188071903 162386418 373214972 489938604 668030920 624233796 440676428 223450373 833245707 257417253 360122347 872341397 800276871 290399484 147739034 891381168 903192427 367797930 868264674 639425588 351637165 901872248 436476911 868490174 366738168 290923309 183104075 618073828 765018417 239934636 968626556 742810947 841563031 901544753 744012596 299582874 302392931 933518577 732073002 436940232 109201286 266173372 152832707 878708524 727620311 894436448 303198096 168055385 337896121 670214681 277853295 519176330 837332899 429943523 798940462 862209450 847754378 995650394 470934234 109078915 653674885 685585786 863200062 908458877 365365843 911131364 805760976 247114828 818904927 537669986 726380986 616310332 750281929 415229744 973013883 495925360 762303730 134806892 640066039 809867996 211479957 401480840 203481269 941206090 815783318 198248069 354188993 381457227 733150141 120400350 842080954 367237121 785115596 829591681 571792950 510033589 611818869 618663016 858667469 120459559 558559046 708889572 802521100 152236780 722764981 633427538 825845814 684130422 806674916 654561605 113829003 377594525 431261377 272016078 672609089 604716419 254906466 565434196 547006934 245643119 617751456 573816857 557539620 851971415 453375845 278647510 830119784 773594584 858858833 111028893 478500132 882728509 976015412 409025451 940690927 561761226 965482065 867856250 998009943 665260087 358794219 396530734 289817579 359071984 393993301 214991771 836988943 423722465 850521223 222849109 556805564 691977400 316889500 532061236 687968432 898375097 200779261 853770852 996143051 929937395 524545968 617975734 204381217 904997109 962301542 560948321 196145961 945990205 348960048 500686524 667185581 242649562 470006177 896375245 569308445 825016941 409796221 886229050 142995142 427269411 806519582 737588142 476199594 665856511 281085679 165894978 726750317 543060761 140841583 630715958 712818023 864388106 920578348 373990500 964185352 176249969 854943704 376542731 499920609 395718429 608769759 150752464 132600369 161873615 819485154 974643074 990741773 892827829 973205698 279696756 183600109 420365355 131115173 800424298 917976164 652111515 752774747 908525720 399000252 177326024 269637387 731737869 941896841 143388585 594735257 464278369 503420428 396623084 139709766 652044079 893450632 194871405 560575135 880668436 392751016 188085013 144365226 534503894 695735131 424288706 531672599 287075764 886180614 633798598 869720310 149929207 430524395 403377086 408531083 828809868 718342167 922325997 846441337 133432756 455290235 201520811 241375340 163760048 585112842 602097738 798724029 878276728 325840825 978456661 391219420 972798941 296910307 237008409 660306438 918826219 298525249 980409216 815900042 150486748 323783197 443983134 930664528 309511534 976088047 371788852 979737133 704957016 101397864 441528455 638843974 332989094 296789665 282463999 636846413 972912293 351961121 913174571 744407176 279007190 864050160 203809259 975675674 740305068 211158409 695294966 105619742 672710641 288036609 218402104 146748558 864693853 299799061 232115121 388601615 552625317 215173081 925286111 305700817 213180095 427695277 781284091 269643911 316869401 924205028 518608534 288765378 166902693 241346717 726993552 156323135 726564360 693612776 653909464 687914396 344201756 373442696 710428844 384341780 829283280 356989476 628670545 615550732 707323946 157328136 196231139 560627299 475486233 768975964 323123661 370148338 514219719 887806957 309370444 702674181 661087813 711420518 696073574 852499761 879479090 606400244 530707022 533348508 291460665 893998423 998213438 153531894 820228610 436723691 611907553 403326257 818249641 531132887 714686682 848377008 291846271 286362481 463069442 343013874 232809924 243227176 677917787 663680775 574568276 957630219 824917010 843574324 378657920 232373400 991681630 819506738 207913047 169794034 602185182 872781941 214996114 528065486 246647390 132699851 416486885 377493339 592562925 823527411 581257572 189013495 687439082 433645554 893584712 670280677 824565520 742759746 540375109 951183567 993928272 249360068 451791715 767482196 312396695 176769549 161334575 359601689 184096274 716438352 263561669 917643989 791192038 189939623 633267016 362787861 507783256 532459958 928097531 575773921 809583195 683473161 738887400 907509247 760758816 135612099 435171890 985720326 808249121 583302084 579363099 448263519 855093657 334028483 251808319 765112009 215972566 517395640 111137873 244392768 367911370 699239489 698898133 377362609 859249487 177860064 835874456 227264538 362614273 703668540 732083659 907712476 629080484 186980092 230452201 156784077 410465885 985925104 985496531 386679088 169925341 482186466 654729597 800782565 932291275 930064437 115036225 129740795 219379081 578169590 630942147 298232094 464439373 681346273 246428688 859232909 558058749 736615601 598795877 883468800 426183982 619165299 451498606 713612945 157658537 369687421 137272949 940439485 758526818 411864323 436993493 815178833 700126331 461086009 622429567 113654496 124875574 799160735 368190591 768446108 754017899 901111611 180437264 308252834 617947924 518544349 169783676 516408801 865534305 968318191 985732908 375018105 268657033 138144005 357734468 272677941 716073396 556503667 992532441 324872459 244544707 696497171 965809377 974198189 677256942 435437785 498565014 726191875 196609880 574921802 677103511 792972132 563391584 658918501 143832262 261323924 278906920 496734066 825896713 115959029 741716805 685851204 433310880 621085982 877352448 541681884 974983886 140018922 682069100 949097178 317747208 969433694 819632824 892922223 314950980 314653053 149985961 637281890 662172539 542184826 879221233 737287056 211717956 955649524 923919863 648325343 417215462 838919983 981673666 205620267 924581730 824856830 593523359 364060729 273383221 272205475 470825494 281662775 210843474 970998815 459355062 548840072 956305099 409243959 964823052 780595423 845111721 967241751 886184781 152569923 825212517 896608364 875381389 376215533 844650957 607976147 672941806 506227596 330137994 668373760 657531930 255570662 113220676 694542586 490326720 584963512 363974240 886705221 212053764 530202098 256092306 547450529 173146539 198555496 474259323 772155540 877905939 641590116 745361327 740316676 623121516 546282244 633078462 325236625 371977674 666835502 111504233 433083598 827253889 493703606 400399983 177035488 398858362 625693184 274324046 639979433 306197055 540844746 201069206 409021420 457021776 562695898 749421232 825603743 841519686 763199049 660116980 982525173 195768778 182797359 544813650 560969153 906683666 573846678 800460310 872060754 138787507 815375932 927656859 179880630 483947788 183043519 776590630 579580021 661647240 858185840 162546506 586609266 244066645 118247770 201508245 993805974 596623398 953365917 663692622 780156059 252301091 984049134 153972623 729328295 260279095 663338766 354338335 573349970 651288250 903878089 409099266 925952363 947607691 438899925 477292239 382699743 300964956 887614552 561852415 177532620 349879776 828922585 670848618 415282441 352736056 470049892 529525144 355145267 902868772 902123121 827177185 394839137 803024028 154705076 388761011 600577127 475125457 750892708 668889449 654518626 326399693 878821100 847957562 680786191 561589743 536848621 626261135 590058499 652191152 994533675 495956626 439542532 387403728 274000282 534140240 636378191 371995390 342091432 928488432 822488578 301808716 406052292 502879636 690566007 796845754 605124333 521668869 760674614 627132817 621189102 311594836 344960981 686969948 456717444 366781991 601573589 290423882 896763896 438273035 140114802 906109656 247237667 562766869 624969258 496444268 834712135 372656387 510673841 156187704 984410156 226483623 366560048 545354084 595614740 344278251 406757500 845650775 914850417 164595983 693418022 591152219 635669010 506991558 533416521 906453310 849340163 583699735 862076653 705286795 178175879 536983199 278160240 697518452 280533480 956867071 772741643 285506930 441832125 609496200 769962161 421286479 553809838 720759075 870834113 180270520 980143623 556421048 943385136 396613305 671060838 893058457 111128527 693261826 996411271 508016273 748614234 535586063 618217680 456634535 934625352 781582513 927288002 457063591 268506877 424036084 739222970 495231977 655068341 525411315 992785559 460118907 662779355 113825472 860772547 294199369 434562118 225479422 941784142 578031447 648909655 120551795 817849712 519289140 698004213 890044191 200108463 252662655 834483351 325263824 250374653 664536418 273851768 231742829 898847992 312847160 519014157 662386988 540218172 829221592 458232337 912479381 570059386 659221983 716486639 636642798 691431811 472229943 660548435 608855598 511257174 729784523 925515548 769890203 358467020 173222836 638277425 469770765 923261850 970768872 453057711 210933615 981520441 653185437 901025629 913465446 344843653 230470495 690598017 823443116 580751213 782240939 387077394 691066077 709410403 352138466 518576591 772821177 348249637 314853161 967039936 898784952 826498444 112336508 888710072 308099918 485196611 320164880 394070497 576668770 927310146 624751154 294189227 661083646 577925722 107558532 604510682 921426993 688701797 687801749 869429849 919662076 339648188 309783403 828703597 410889216 365570799 754665885 734662909 440148366 344825285 878236253 158502621 994465206 444100008 802273116 478039380 327748766 397519314 825951973 114148504 931887140 386463819 923424839 335059227 751121080 150371277 296430719 965564457 645122035 149661878 346932700 897025339 184450915 295953893 517309054 790702853 153112908 681658919 348770051 845595452 336013969 488934290 776900536 624314338 400856607 487058290 414084350 697282938 336128450 673078332 321816507 662550971 891789803 369948514 328988870 849542526 857605085 418548802 678867837 104537917 271467229 959991112 158528309 526896412 541605104 443025634 179577423 925695847 858961079 955234209 631146014 286307059 830928978 748144569 715041041 480825041 364349085 337287285 555402268 289868630 412462157 106322593 765717251 766880054 434518378 784211238 508453493 873854536 269354412 605605075 879849717 907024616 329820397 180018920 805110440 581804469 645906216 344764604 941149519 869218133 213161550 723631825 410024918 983754327 957713387 642194620 659606876 850744410 981838860 693781410 421549729 176035318 223002024 428795660 972700940 569063940 701186487 414453216 216187437 866314489 637865966 961931711 567669750 485185907 568595417 622385618 746117966 639882346 730151892 502037630 131414114 986289281 707062293 994716571 829397135 616720978 339042138 987752564 641773999 404376385 540602569 277948644 903106094 431279808 898716978 673668850 328937733 976300058 156076347 162529619 764373386 573818273 229132944 584047145 690399446 117141497 485210599 406989120 298797143 115848535 944550959 798017408 642958088 420190117 470922690 517468769 678639062 967654210 892556587 141470831 796653358 313394341 743297740 872368782 534335869 740618385 127604335 131708002 438006665 321157652 512762387 564144591 670254137 499289386 411670057 600402903 182004354 129151728 282922146 103785075 735589662 113102746 152977413 803762855 743560849 378567305 500975099 190329176 898784114 904976585 380918961 476942308 295031971 405693862 575378141 165662004 667382177 551044508 695524671 225145785 337209281 694291526 736094041 126302078 603702718 479042913 812161813 568233401 654994148 358270304 484848675 668805300 611143106 302185609 166983436 911215731 523919533 369013816 434732312 811205131 261603871 267873142 437780902 816165075 714103045 933916631 899072274 213378821 921144294 965702619 680791611 686057484 831511488 331287544 922675580 883282640 821748109 724247213 516307674 450023024 957691354 433423513 890455278 366378172 224021162 227507796 680735652 742987976 360796244 598370278 236961713 378028237 595283675 220685236 586915436 799886453 558692744 659296899 583568913 978938995 172470604 523133396 567188122 999310823 248916299 881054232 225634768 956979622 412592543 815763708 440394196 184366658 113799832 583329903 558179231 157098186 388703687 186258617 989203778 181051859 220175098 482316181 100605179 364749783 482055216 275304285 684009869 189974564 382012625 712497650 459460163 818581965 901582825 479004462 941588176 378564074 553548616 394569636 352201672 350006285 185569091 709930715 662308995 983393334 932378281 603683932 314995666 359581776 735657218 755992211 552566911 310752701 491316287 396622329 197452218 221172195 685074690 919576345 448617698 544445682 293744505 744883124 569883562 564568292 435596889 626819868 135689382 885155403 630497993 187890817 331493504 637153455 649284853 734129467 664872868 741233397 998184689 208091828 681305796 477595468 552313066 961192531 675144083 881596629 670984838 111556186 261207225 631091810 450262364 664133164 554421862 593469685 712513669 569152093 156363939 773277102 902810036 294820979 594541471 673178483 836033735 318457609 488831240 469288296 836081268 273262838 350553072 803900927 931250700 573921851 354513311 755953280 613406143 484935685 395512462 107825658 112952207 498943018 413824800 918266099 790640881 888272571 439431797 960517515 476728256 499065068 316512764 161910590 258845378 575935660 359366318 908721247 878240690 291916583 943371325 455095946 140641870 321506886 288625594 630088847 824144460 237431462 851388427 616607216 970378779 178094275 584366199 726550427 433558437 455303264 758193532 902278259 133818597 432433309 821859122 200383155 867959287 781115220 804618725 901159619 208741881 928985630 861698866 696667403 398633142 461310170 539782931 313503509 415359418 264483094 673004112 113756113 562386375 605491693 436212414 765697486 273555485 609781506 462929516 463445703 133295683 718252862 254870463 222778533 242382574 226699103 978915885 755210649 940807814 890441110 933538386 494170735 210590421 453203795 580594714 390318655 733009180 712944056 194726848 198759844 838413666 350037693 681745866 953885173 401624233 966638164 683621890 303653728 768957176 464489257 955870572 379193697 324878890 725695304 329513600 487140116 217290096 100749303 990985144 528193924 334218677 379596586 585701589 428501206 614345901 599479592 682137469 700343578 869004111 804734910 961483522 665679497 964570342 511124460 395345193 183204930 631486604 358604139 269246193 346240282 353803526 989877169 684102122 468928628 512566801 439532863 919769521 275295876 482107485 958006731 571195192 224855092 324654472 348851083 966254417 425992856 833643040 904642075 831279911 529213978 484912629 916023097 553546580 233881082 145963701 206315726 758993913 155047185 396949274 928595575 311971940 557443284 191501798 866369483 293734391 101369127 587658697 928919132 241995328 584362398 402325470 456971464 886327950 163175795 407140992 750391368 491556070 187039364 424143926 638283627 660444519 555716464 109143599 406876961 775124982 327041957 217021396 801220952 805458669 911605028 179941797 519752443 555241230 744626153 255182438 815785527 201104185 260802678 830323925 505238213 261408441 578421687 377385224 179133413 229409382 647072595 594561298 991572610 689517570 833049712 306928082 844453437 290227499 429853369 238462492 639189190 842458356 748404575 291186542 121817667 934063472 664930849 375070151 570681874 100076498 420509872 920179373 315127870 478012774 553366732 397311411 495641252 325104111 524981153 657239220 144055173 550333903 255948606 110767428 188344146 444006816 511556872 139806454 444666734 259317035 365518376 841736969 496068823 572056622 830069139 674935786 815290322 479687138 783845671 138272520 708055260 252252829 154037679 166478210 164502243 608344947 960201640 205227744 245828521 605794491 679258043 975087829 972279318 924946612 637196650 915387416 728965120 324657308 266222488 596619655 810243409 650579422 805927425 117238430 312653636 301987900 233314105 721862014 273514368 269614145 221434089 395016394 116671376 844808505 718459771 370847146 207939251 910115247 776305698 826732718 200996340 333346242 468311482 698442903 884387905 538372469 769761615 865216218 275102305 346720731 586136878 349343606 245912639 868649377 391857028 448715546 686162967 396418816 985545226 500949146 476895633 914663762 654281547 660337490 934431172 902316286 182908559 916219223 786144110 696016668 880787059 730002930 874493271 937693887 592425887 824257728 890796836 150645217 997731007 441300925 886387139 930345692 718086227 248114018 423369753 208655529 541823900 155384892 455557286 690164597 320850287 494846163 308515212 420297627 387083922 310982166 310334614 897519861 939526819 733047257 834433010 442285798 671789141 169168389 874887140 371891383 723515410 369149213 675645169 281937911 547777210 163834755 333956650 206173576 616955660 539109376 667258532 486138673 152143547 340594095 523235832 794377064 949522091 825879376 283973782 445174947 308185484 165910908 126619884 688440734 687732032 323434831 644445202 110946067 646081711 219469638 441293633 174752052 320879240 738161737 688867667 512317734 615829639 140952486 611015434 928497188 177024205 573945937 274356176 839903146 508409214 482523030 912985953 277526254 391679124 278010094 361329516 356451386 353101090 584430011 225738238 625790650 792267035 436240278 991926212 767520079 647881870 118470332 802218956 920643087 776901282 630114898 994128923 713096635 701239139 817373515 788639099 613807368 406428344 964790543 923992930 354524687 961589486 730142190 847866267 687389097 957203356 904195966 118237620 920908201 807726204 464448212 660788094 454023798 886115293 210135949 806925951 634195341 715970692 290422720 281418416 486055113 680477512 900132096 456966261 908979499 393001252 422371562 982144928 924481615 321603993 686821540 266215056 950858214 511212341 921831949 449243395 612249591 906525304 413469084 556029815 417988606 957487194 924784019 790714255 318023000 961502310 666564841 131051954 297920076 518519145 821883454 983526643 223357693 698393515 873573799 450084511 833475258 236871383 467641753 844878804 648418102 908176454 908427962 303111287 895725743 927959698 478586411 753456895 270313558 968922142 656641962 789673811 812697438 984792417 730586737 760588845 351708816 907313641 863691008 495077883 303104388 967630798 619828131 438653308 398375193 366193576 362024558 397307596 566984587 842966086 787582589 559821474 236604193 550281956 224791913 884763022 766811726 887627439 158310532 180210847 674040166 488554042 330385128 735928932 663632243 699154746 523216363 777405934 358736466 111686236 698219046 882332532 442617095 813080346 560202206 681401254 164868513 550629941 179127639 478147075 831369621 159767670 546779552 351128630 343591859 690731377 152786735 644073828 863176706 869282647 857188023 189949352 291638614 350172670 602091705 100650569 881134213 393555252 218599714 524111525 903859447 105661729 791918447 853226732 988891833 756506917 761483057 136172773 576498522 452975007 632611050 775583878 268752207 760491590 194282139 269978222 764716786 472298559 399384089 980653391 729065250 503595526 870535704 699920180 575344981 781343052 538392313 561087378 681439381 880801011 210744219 863693087 240921684 795247794 798126385 113325665 442661364 305617158 214203124 704351791 666789392 718666319 919165610 305450995 217432689 311232610 629623236 151853817 996677198 630834795 508181248 808466938 752353339 336493910 998854719 582260822 454317716 983911012 993964964 627573281 894053573 255270884 301116023 930324181 101843471 425928498 604894721 508405757 280364375 491033572 342168373 741446090 690562045 436788616 417197211 426231735 405858345 328239012 538822047 206598895 284468985 960617626 628534425 811424293 903903320 617407452 588105164 449417005 929963715 125056550 895858650 673219395 959718085 361847265 886229930 885781931 245193343 884978309 972891609 683564624 596267677 727907994 284309370 191941555 603071768 390806216 464705406 304120262 485902817 244955698 352715741 279629842 339325173 406262768 714037165 815843452 981754567 839659944 569506363 624310679 601407750 513329436 891592678 741249813 783904740 480547215 236628356 159815674 883157493 780244841 539374214 765934365 391337230 383545899 331839265 369575751 950288847 269635009 307467522 275901461 695391115 955680165 763180946 591591112 832946274 627723513 404850437 529738943 829898706 843085403 677302977 401797545 900353986 305526936 432754028 617709717 917305753 455918767 459756627 319384367 512259002 667277008 176570561 807113996 422770744 975074582 669017477 215399478 444206028 359938561 162545355 362858663 142953313 701256542 459710535 778611653 465040610 881311506 528459223 146684222 618148127 728807958 507969877 733484280 506839385 156462797 242024957 348938636 993504427 469228964 854781963 211303424 167491655 441725997 410400981 417789214 101731557 236241726 548291148 975772163 377080139 899739970 691283428 214248909 676407992 698736510 642603270 562228378 222675113 193658497 594068877 417297133 675283104 402568495 470552195 221006328 608532540 728876839 714256175 170464077 921431798 672166637 517032485 148957932 491399479 380745821 630811056 740433144 182039841 642247981 444677061 220466519 794461359 226149818 219799495 140615276 247413039 758095318 442441611 933035619 174558577 825261320 941410608 548418986 989400540 843761268 365973600 231867112 357574473 378881785 397866334 889173770 683080434 729560427 876138695 610758182 261844454 254422059 448099716 878067668 152524368 880852011 448656243 580374837 268347442 271716884 957726079 876666744 873613826 849122508 773991919 287657821 595512893 215350446 717662028 594758299 948848315 309225116 917649773 885305426 610096026 294589213 431870404 466887477 892732970 591065036 896542835 492726986 528512121 605155889 471055080 931385813 527991911 991852296 411693024 226831869 331054390 289548080 193465365 850168877 165410018 105694831 192912075 666278896 906876409 234643315 543351614 304988266 874771133 616651964 136047962 373993077 287741980 567938151 192499092 840889558 607773178 205961191 973477336 439529147 661635847 632726728 822195157 874708819 707076281 578149090 801146163 215556387 801075440 332282836 718412340 708868502 499649073 795421498 354235504 792746265 765297315 709256333 855153364 854101058 353459353 737863731 999699607 432426480 394679921 555829554 615057030 364861424 153411779 925863880 697320005 642802044 302874330 212834863 561646959 282693703 251240953 349909520 949994886 156258058 456110342 421404366 607837798 405208752 983622864 911097148 637779475 937236325 696624389 947845762 124496023 970854360 394130436 791183176 729852735 266034683 169408340 905834795 716104888 166643912 547115744 558680902 196967188 331474538 327931430 728661034 120239843 978372273 141425547 835180655 309471827 297666385 406219582 136628860 374204660 822904339 159406314 474472998 799595561 674587966 921409248 581066741 826347014 428661439 130632632 343573673 696620702 231914572 970044726 273138824 404525907 338770594 757038528 175151267 380505318 740627546 654794323 944464082 787329941 219148125 598135842 237296001 813160956 636296196 926143087 344982514 408094085 418640408 765476347 773829929 463252048 225734135 295830648 848003612 550034433 561070912 100182990 314278033 679739023 987343500 533067729 500505398 616051628 774896755 126421949 947733056 907200939 508048207 986249927 285189427 847723648 934044012 681904741 531870340 169864752 863869935 284263143 914151708 704778859 762920218 426778110 546793053 499623915 386842681 846535923 489885667 675441378 761519668 407464400 512259291 807288044 564755544 386146482 579788379 455350393 896387394 566529153 232327659 154261007 338783980 513062910 860465871 132748568 262304114 754469678 242058869 612254613 223755212 904016289 580341806 591253933 127983590 504654496 115626620 865049013 563060178 121980098 993878127 469832881 618217236 279303120 513051973 376814847 877515301 959964371 998569359 126346095 308150801 595041536 962976344 623226162 494009085 714229610 700399583 974176490 259718923 135419105 513841815 168781465 194064952 849041747 243075894 362049506 157271444 544694474 666917236 344686522 510849541 875316231 124404529 790039507 889461404 630766675 940017363 417417600 370933148 352622622 993182937 208333088 907373915 124685249 193250755 736999333 164818281 690002883 930346889 484387512 893036209 931594259 712616964 770063649 209969048 879910011 575216604 845420168 887470150 751476746 613234866 529831738 195318001 606494828 429331062 914962139 459479138 203496072 423342121 842588236 993536314 809643807 617763371 287497483 500197296 726442263 808048458 484222485 903732670 723785711 620326488 426593709 331913994 315445867 951189046 713109799 809564697 808725631 853442707 173283874 239686281 596084355 638690162 692673337 141517072 172219085 585660846 548481807 271479686 588033847 662742112 416603277 704269663 822501325 519401541 988463923 921718463 291433926 752540341 685283257 987701820 954691497 455064298 506970028 202997810 746648692 683607753 481602297 853156194 248445401 947790699 788121655 514748035 241247489 195896484 781782774 911928796 435831538 397931041 455894121 760233316 185041627 983706507 767032794 282925367 522241130 930076947 886789107 631333465 595711434 786605512 552615548 690220640 278596263 751630035 952665185 472257138 332705090 303786592 643070923 991911132 226393751 281125092 207434983 532052054 514355361 194920247 477144980 374011519 699777814 609781239 346993037 298698008 980709785 470731588 146071081 722971799 389556535 545644824 319651491 558729497 957832904 599506299 853951645 810305102 521425193 500488361 553156579 368417515 741974034 757094058 826536951 581381250 582804959 609440310 142711754 884531109 463620983 583565428 629085403 311013753 961629061 963668284 237364058 600751352 988193569 708117329 108220920 844360886 874022372 512386039 930819272 496848785 683872412 313447674 488923495 933717968 337926626 587719283 113823878 289634802 564247235 976579124 708895148 411000037 130458638 160751246 201867136 587638398 365972617 645663092 650807859 888793713 188431384 759253572 585724730 908527799 147460059 420888929 605273829 244471314 162705565 296655012 682542630 455291588 753391457 917656861 607746683 851053375 545423166 299637781 726773959 960399010 363789935 486874686 539753613 208264385 468768976 107607934 703526235 945483720 571573735 270841591 628704714 660021065 887100172 625937811 321468780 559849533 512090749 524178915 186126008 791134453 306388233 524932682 852472823 170755898 836430435 852260808 556799729 196553534 205486708 931495469 498425211 150130711 161949220 372897500 902302828 447375130 237561785 661894293 903902255 512637702 750873072 661778448 553299672 385630048 846572426 103756834 324269138 607760835 205690842 850153616 603403399 617768871 984670073 538780566 608324623 429695809 613606009 185659330 620570251 739028920 751930592 632334461 321158211 808374646 131282201 821358269 209062311 959554484 658704968 749997815 465335899 172334240 856977233 578358108 567818773 890174025 873698360 416642592 310911511 650352301 667604443 152028821 386911530 217985643 988376981 965062543 565636801 106025097 850939551 808540058 714152658 892380074 865872535 593208802 584976178 169500561 235524983 240337046 758066364 567299002 859240423 363416997 820403337 232301134 766842311 720109686 651183779 886831405 854798333 864586943 630444414 189830644 282957755 414418237 137817472 155416737 989346750 486445933 998112418 879845948 750500159 550410176 819335879 249533984 850223724 719579556 445225998 668869052 255917941 969671859 688376479 355538423 258757779 699428314 196641124 509197793 271187718 855294027 272342116 615661230 998865346 353509626 630433031 419326734 713303574 173927168 814542787 586615211 315848755 241846966 723297367 237922729 291107212 446823820 689920988 935605246 924156347 596551392 178549484 618062382 255988836 911802088 165260788 874866654 513106036 617928904 444599490 863604470 141300242 294002264 424413073 267783370 755030158 467595995 211398677 821500825 288681015 568282743 469961665 573261278 732462505 498079557 494691197 819198275 294897238 987734080 930071456 477510283 682843958 276115896 269155851 733870253 728358329 169321477 651253488 390668409 156400853 212748687 816447151 858470705 242908864 179259404 498045507 564067324 683205518 914335169 920237054 252972914 777695941 190676656 222545153 434056204 303054217 347224282 715720541 599720642 167300228 642457876 980603009 127658497 244256951 229568219 920958492 454231193 740217982 768411135 930869719 315343899 373353051 114513673 102188650 409651575 374371950 803139071 182990108 718748362 925808008 547633745 260466399 616661367 428527374 502419250 707554354 172852225 817573775 653839852 737232048 442842702 929004291 858803946 233011727 807954058 397312979 748645958 874869423 506277438 166140712 185600880 885495147 286151822 979358878 757374252 195449247 852420704 369660931 795212065 797265799 255722975 659473998 179481730 722077265 924081582 703330073 110589069 995058415 536404875 779468610 307387104 347127998 659334758 312216980 425644360 559955222 513006806 983873956 359263520 673264013 454949745 899432907 670376519 704205275 910630815 788145191 866420977 301774193 279286067 991979342 964550888 138332845 274919531 768682850 471290605 185168563 276547476 641649967 965139923 145756177 153294550 979775884 891527538 829454296 911840858 855023302 367736036 575400835 667652785 555858823 509831077 593199272 471768505 992355261 321165222 729561834 434726427 792962798 783602808 979277507 882065695 424402900 610309983 640598778 256948914 766827734 446761807 866098029 886859084 845702207 185774456 320508138 344006785 977502818 251618001 767177985 319559561 803405985 292467894 137188753 256531245 463852658 377578537 431358811 177590126 126764326 430074478 430448618 827748013 395172530 660624493 962388778 671052543 532753907 790096363 704836652 487212663 956320084 140962285 665309581 281361105 858059001 854844234 308616869 259504408 591194679 714884696 569554462 198001276 296363795 557517978 940130984 818834988 459109554 439498173 141954448 194001829 929896057 806926367 490884066 307856352 384236013 101165489 925010462 719091042 812149503 116177959 592920779 682263836 432982905 925536587 867363679 512390818 180676722 265080381 492790836 581591801 399518009 682255681 782215897 428368002 645423291 911365343 872077523 277061643 673675694 825963829 665485641 941886717 977958111 132859375 163452491 559217638 529071938 877361508 160450207 445064120 880521211 642882018 386338175 672074088 520542796 948165885 386387000 344412771 114178813 249723471 517337088 582820456 482329969 505895524 956800966 862807935 857740611 458292151 948479564 502770317 251485421 822596038 950717242 890064049 262312543 986740353 619057553 287337958 195653472 356575897 214731296 410674517 372735770 642223718 188612022 300782098 196356645 184523004 432076393 448990886 716839788 826424026 514764762 403967871 470585081 653596076 480447867 714374944 180733667 350425205 150979860 257676486 730762509 108056859 391602992 581772377 348876808 499968882 745997263 864834140 927196052 374066714 466175568 493040669 718290317 686720755 871092676 221780583 962756630 304419520 772524877 166962169 153584149 130027419 490278459 359686386 550174760 424195098 502784710 912260864 664719376 432956609 660496027 593534531 592592036 706690984 845755095 303889548 470672539 148287021 720674019 452741826 417840817 959730683 646270761 735457410 579624525 472971365 346287941 874027417 847164479 534651919 522734108 300654294 274275505 381709986 757621444 842348180 831937460 907006396 844842800 573525486 751737160 590442033 182192678 457554782 114228468 990642716 671395138 115694027 595712583 962868686 610976086 245460598 411870173 910420848 493264171 959050968 518924648 873546413 811276399 601569945 137758622 861957053 341566276 936900708 376333711 682982153 627498656 116426124 338121887 166970130 474894206 684318132 200579528 791671969 440958088 994663738 237072144 689857719 927971024 408046915 899446382 609309452 789150661 926187950 628266702 686045402 942107505 461588559 653911473 297797238 765328480 925172808 477829507 665257786 336080931 635428066 252378843 454179403 286059270 225093304 833992211 856410890 118190787 829345118 321735694 534390610 903721301 245510716 400572749 250008698 582085918 833677799 407832859 861109298 582956904 747919089 944282205 132284481 315557687 194353318 877349129 666533600 211756073 684727602 519998192 550394090 329493185 849116825 365668271 720400843 982493981 866751229 802646463 827729229 942418278 787086385 350892502 606467789 574479898 799504052 966014484 635186234 189563736 292732873 444173365 593411133 187713277 562891646 425478220 421257140 625389699 208903298 180259103 493411247 680593748 925252588 602020220 359860170 253067438 559683896 578336035 858064729 526545325 854334118 261174223 247814766 162851489 185152745 336959644 723207462 441852713 908741598 941179858 134572165 921481492 905700145 499725796 426636684 113144108 452432666 200432208 938183458 262017476 434395284 811762784 482495215 762645457 951269142 426893989 439355831 460993974 223932518 772573186 691361345 603646201 819755175 139305177 887951867 921949976 789366739 445040619 299033958 541910495 726675036 815303336 814830771 464087424 990793490 833242303 369825884 961400517 502900248 321323720 241079278 361858197 358846529 187125288 558494589 286045655 252336891 237184725 392468584 970331583 569101179 121506514 743015518 356883170 854981402 338582978 425789626 542185291 595551394 544430508 950674571 522029309 842996931 641095776 144158461 599090082 331872584 891982560 615048733 345988920 125914020 461525930 345040644 674544163 904080884 193440767 976669406 752961034 141605807 709881582 920858910 723556221 197649253 776253001 914915131 764151499 825819053 741658951 434421843 803358459 445675986 906204823 523102535 113759181 414894652 658529597 573391326 555904387 322876198 163956250 224559163 671271866 213240718 403356202 281589125 360932214 838810793 753008598 727929304 218906152 715000915 579846139 578592961 816858821 139966581 257378265 301643824 124424934 284272090 540067152 917407258 719011388 477104944 357091393 117156928 564579891 707795861 346594898 586420920 341164732 219818269 633439053 284873180 855326175 203621093 896509022 361246029 739735896 574916830 378242705 953745706 144992190 711484603 711883642 540944691 814323093 689005951 221371300 169906957 803090479 557890341 743545495 662493634 803329524 234813957 649517982 497633009 828145934 180502330 264084120 400230084 523544990 676358336 126603032 242769906 154810206 606256682 723674874 969309254 857616809 373119297 394813524 274135819 423263192 292444237 406715692 651417657 128451777 990222492 989709555 581026655 999611853 454440210 839908427 866976855 251760243 974895617 658123531 361612671 153779791 601874954 570802509 969288130 637282339 811245141 356994639 496976372 159482489 140095481 374520191 512503642 437019335 164870190 325174179 633596796 808087749 307713410 890904131 916913246 464989592 958353515 872317484 720345463 890962911 642290485 929980492 138343396 101779736 520590001 680074085 497707601 430696286 887120377 240811541 703716632 731319412 145089623 756416379 871775205 760506632 776723327 673322757 923720185 457053641 795631451 150861046 342985298 693446351 346342688 493353708 904675300 577936539 635160797 521445781 388322574 985296051 914372495 360404098 313770988 992931673 628183673 888136387 671865544 344822418 826542272 842552008 908985644 475205818 827097961 691688455 512519562 289538094 167206462 308338882 671436568 290161914 230843076 915424538 198009927 719464300 734718477 594525404 570508604 173183968 675664779 735348487 659030677 915774771 488768800 594151451 556940938 991539389 848100403 901523793 893924354 800989529 901248249 598584367 161440133 897349143 530380328 992875412 561995350 756007122 838862814 817597748 818336270 731050264 929846516 847571061 828421687 101650162 799776868 946753579 175028624 119812897 536055662 955178412 835574329 313646678 116066376 697589045 159686150 663564502 978778529 556068838 822822869 846802372 656092439 727351516 154231457 325419193 923252088 540577764 918706338 428844875 801247492 329159719 871816498 265452572 604934385 769852745 866107265 768073829 108209901 558338854 873896515 370729556 587845665 704342096 756258860 784600241 877190789 600197943 703125599 883395241 984324030 658347007 855286645 974251544 664229590 817667877 182083503 161828818 557132160 555376864 260154768 362974709 354469384 131740510 825131486 866587949 747224970 975788785 476526349 944790490 402138184 759231702 130238701 813499146 526736688 957477172 103888651 224100316 989279472 470370298 746968731 235421406 567792488 379532948 239103390 529310157 266308591 272760352 217492466 603181588 383686971 269202682 953831254 239851412 158368306 663439852 401764650 656514185 725247372 134625530 760831312 148827381 252312211 982370806 878892626 853474228 268919918 514686884 764640807 921662959 189897676 798391818 321195595 699139068 163651193 175398343 176978897 535955300 149021630 695648559 398624340 658391967 303093895 285408148 856434900 860302926 435449480 533518458 795746160 618509067 761215163 252533975 581922411 302700943 791407299 239082667 486498391 558293733 702582855 205818475 539741110 858338312 685551111 574139638 504569600 860064700 452902154 525911400 201030699 700382597 871477783 880857845 947677730 485985641 274251135 922972536 414071553 683867018 636131045 743700645 847423909 725849889 305927885 486709031 951818753 224649056 901350803 244234451 309886070 715875228 715230889 949150687 543396812 838526640 939831525 271267353 885672488 564993031 505943355 319556863 489463933 598596150 467014348 183498836 817793430 419153757 293686312 687367455 469161664 655758897 371946850 458798477 924114809 534790165 837176390 538764120 403833598 837766084 575710239 162917235 516731406 787876280 737407097 702967368 397473106 251783362 154403787 980334744 113875872 414260246 150019704 989105357 947622239 281726165 618040804 510631059 996247061 100775052 441344706 788493626 575808713 742377741 520706234 995817283 879951914 102924328 803999194 564900808 882699841 945863221 551588642 674003790 271761688 683134253 677424225 230103416 766278890 141864907 546359836 567380361 362753897 614346806 246963855 909452132 364952720 317975116 151991700 497653380 457915879 377824957 249083024 217682648 986127350 415535458 626369211 738771113 529224813 184442633 739459710 828215999 528712086 883314093 785531426 586563520 684575852 447182353 834816164 745588748 762411723 428200011 808249185 529936621 488365669 924397381 217254130 164408384 897680862 630032984 711165340 930312776 111587084 603446953 545354578 896655751 195458668 253936818 358839815 894837491 600745154 572556328 686673132 970189290 560918068 232002503 258356837 332513432 617183744 180257575 272299742 921904789 320702194 410236588 503285513 940476824 682629934 919615321 697175614 477113944 428430514 444810640 716901031 432362753 172729752 242629643 759658248 953422496 558589829 799490154 763065313 217336927 184820930 347457330 194861516 614841782 294910293 145178765 530483085 133809054 624038995 967150475 592794691 257208181 311469275 168333311 700939874 622588509 833132037 728542900 292724935 343079524 778745667 891696488 718838039 364686760 155169570 461835024 822655513 507194722 541481938 540136553 442890014 239002315 446634104 176104049 216010143 934841326 180373678 368337088 731633245 947423338 988294641 945989090 476461240 866592215 475682913 408817041 746158005 133202255 387766574 870466515 946908831 495900434 713700032 231333285 847126062 505546218 563265372 586626651 432313968 351695641 239490522 643751534 884165225 833740223 211475715 901268455 376485284 514950765 713395602 761071057 209605146 395307766 408709764 799306947 553136273 601463339 299859071 750978834 876402096 925945099 198997334 208997613 900959830 932511602 615637052 756252469 981787585 425742946 782758154 801013925 194258594 994330514 793415557 666110350 276209699 831626177 488637810 291721040 669760923 798351752 149199385 358661583 783921592 150458657 599096765 678635674 269916576 552868866 637980933 629392529 600906087 559735428 518768262 988275335 191481671 650661258 631042004 159186413 821229042 367664636 575325285 263992871 593396877 278654341 567388205 822773143 696137821 281114853 228730492 487463418 242031585 644710883 502487578 632714158 888364982 293288997 419796143 439387480 626841498 570047762 566711999 484840402 940602787 310983596 283850790 824154083 955479469 792717408 387298185 852631030 372182896 471600086 536855596 604583945 484247760 872389737 894812333 589739346 891959746 854319346 578595826 518891307 829507204 262508452 479103711 780664859 734343543 404584179 208145747 503054413 541344860 958376237 791393439 558145723 373630104 463159051 973524997 661362730 801515852 123852069 715121720 766251214 420873825 449025737 355150607 354673495 119550578 591374516 417846303 275682235 868488975 665783706 446788948 657885557 922692551 205886357 555518516 588695793 482142314 414562941 698687587 120008900 359877133 283169803 374469625 919780686 420247778 922920579 140293373 858456918 612839777 390596474 390553340 540930501 455534737 427472350 286473712 584385301 886714117 749695579 407355229 575308109 376201441 136774307 420032167 603226075 786305787 682916375 733277539 638716918 415457856 463680631 764905052 553735204 616598405 552081863 544661463 994344113 114709709 982519049 845430298 434563447 223547948 982724624 410851628 276476166 269770062 528871677 812802528 902724932 915468984 790947401 499737741 967580105 325859427 599581006 595046509 298355249 173059261 471475838 610422788 900751504 509994205 331864076 718096331 366138477 607770749 165125351 603637074 965033277 851022079 586703635 805242817 865124231 649631684 325934380 301982075 626871438 432743830 917876467 309515209 637142595 819798266 801136107 890888963 526438019 321938808 631262850 939197125 279938899 428928818 378668723 512256707 835611477 788592993 312134789 383991194 887880649 834150503 353578810 870862976 361590588 143924549 757141077 159194055 169351236 601193021 701468508 328259382 392548745 196749941 752765393 881309407 583024683 480354306 969031148 569097650 803098287 896280731 102140551 809504900 782909254 938333413 409406095 823605222 127616609 637878289 894522024 551646726 234235135 201369908 441652849 180558748 850879856 591747355 782584095 810682406 393250009 284021569 486467820 364535497 587347036 566674014 638723709 425958944 635961394 225171124 728539385 376911548 404299347 162375923 398274219 852827306 691680924 871190613 994051553 916926685 805499342 492103072 588111706 299664959 375073328 403416787 299768106 414958272 545789530 568791310 498722500 537050613 638439345 664515386 623991369 919836977 559878212 238208801 728393663 916075534 782325671 774851383 877592552 937422429 202420190 975005651 793218020 182230648 807587244 361146469 705427404 208535905 554167412 800946890 402204977 422956921 941003282 800130826 924396320 681482962 211633318 677293762 652362341 178413868 152208368 616624258 185878115 916863928 649171842 157976852 488351910 600372607 615240142 975606746 893356937 493999767 845922835 668324826 742203011 807816067 178862334 678520806 908591796 682882952 977494365 900542393 152165933 173753621 741028268 623568604 861169469 323494479 507250544 846842155 207266285 269800577 870708107 406552024 847350928 921862629 392567489 138062284 774047501 316072175 321325907 480122700 702273655 425784123 796635259 768108244 661679030 972381222 206338266 251974728 548374868 732853322 256579115 403781511 202175228 718593785 841243728 387696981 912539418 880468490 400745936 379306424 272654912 387717929 219800214 526879917 480523403 392725668 285189579 911549628 678049815 186338513 778816833 526719018 215471232 781562388 716887072 619418878 436594810 515197061 767291355 379816223 447581613 391457139 174929816 892675385 583044589 601367032 330068394 133817238 474128448 327364232 124862389 982378459 633107569 989603570 472620438 921979445 737966215 656913459 428128824 683110286 891467807 886465419 310559282 677575221 670089518 929387059 428924133 826018508 193050415 807642075 973090415 877280109 129452219 564718936 603887818 132244693 210632600 480996499 136099848 700024230 865651085 217421956 186961817 364903637 667724480 537982144 127541992 871736589 353901661 278582137 614704653 306950407 821175975 915796954 277919420 775382525 492233497 241227464 178782035 715166336 683822512 310044996 663151586 471532946 103421827 902525450 200647136 247055222 681527539 805650506 848876991 125166290 602842992 207537434 574797055 498338349 697880251 209271825 465012793 767363835 827043791 651952617 449553453 628157650 146550291 491455934 644197769 192460450 928581190 478643728 217787781 833691458 613344738 478225870 887822189 413651969 705810348 750543171 339421685 390118591 545719884 249322109 684684999 319407458 647510062 665381547 499343988 393053769 956785117 495055499 330102643 247829139 910524969 561504413 174049601 843550078 831688895 125646778 113104653 535080828 845768981 466170013 566405837 721277508 943812706 415655439 806542535 549292178 422435197 328753877 240109889 329088972 849580379 228680124 357716944 374045817 255297336 170060141 428214176 200127103 326724142 133772653 839362787 686559099 536200228 850907384 456300521 273291239 361191464 482154186 457771516 681316430 452759822 406835341 386876950 736005150 509650059 839761986 368451588 182893718 523442685 976061283 872297524 203197041 665893190 258953785 230431224 311119156 413394491 563702270 960584596 223700044 314476903 975559040 851783149 748348160 349940281 613860705 219322226 257793748 990784844 568017876 798662319 116386954 455560934 977301689 909834391 655177948 974389453 742953572 544297837 621284066 200669473 710597092 637802222 169112968 969407907 544517157 981958665 111075957 945665403 671524651 208282322 113807677 742436576 663916246 976001283 298947132 770061757 349029549 837968450 325404717 236184023 698993618 598082122 588360304 239357766 219701163 313500000 632962467 339379673 904668150 713557564 388661391 466042442 815791877 484015497 332689389 923058220 240909575 364318382 829053450 619331652 158901508 376572707 871049196 293384484 521131091 495139519 244596084 888871157 758671284 303160875 606408321 469837869 623702419 294373498 145399925 305379050 809232873 508891076 737745156 684365928 311685242 421581322 385644268 956366215 259970571 988725445 123119291 125595857 676442033 493610747 197689829 848200735 942466683 726216292 218460243 140767788 623333096 925543552 808562598 901625073 479134841 730086236 645279369 179943249 821665485 720009271 420936105 855685798 263099073 339496654 133356603 552513325 879515240 820968935 900424887 920133082 930893704 707961492 783591595 723798537 619699218 908234099 443851209 815972220 997582613 296519507 967401869 564380843 524651018 232003057 751746383 320517237 423301399 404573906 400313978 783491450 224798383 863706980 988765955 552644355 548014315 505266156 465652436 231697725 444793017 856634028 512010075 938933178 465068906 556610116 807842385 470995042 216970262 689547722 375143148 879493390 202770051 233265689 919701171 586501324 670675263 585664565 467070175 866408941 857580682 438211398 678014838 275943114 208035616 727680227 363295400 680730558 682529484 475105618 744940138 367070449 569568252 474228262 393587286 760007672 203149213 789909162 343630434 689949663 294253510 717710890 546615291 797447503 522362904 335826260 804823903 453068858 164876940 281907093 742247382 335144012 898231542 160043762 554432096 835034969 572043010 660283126 259322476 105653391 245743510 205007897 354592139 254792225 617874689 272631934 423552848 219238342 923174222 113910412 224605127 914010953 520299699 917958263 854306459 119337043 363381050 936621388 409556349 479060840 735528712 628999661 336419828 258257258 553855532 540290275 123067367 993240626 149012472 469447166 541503333 255186906 482282436 578090127 896342316 593657013 878571894 422094222 949719344 150815409 823509606 845740009 186601907 300772148 777594749 270695666 644489147 778870958 726364901 639690268 965577072 199502243 683894368 301932117 702591674 879005467 351564334 705727480 945307804 247058901 243111862 759255301 839567386 304183659 814940757 960330573 327892772 601334471 255111288 517073183 989075888 272620467 590114685 864672088 857247693 739094032 169971090 305070723 758090090 876335802 352155378 699802397 243837763 793131215 373658196 546619668 438277887 788261698 786506900 111831605 899532661 458944644 914148063 939449176 175651640 326036103 101988438 624305397 947368948 468748294 500821008 692097815 378476768 140085631 447384335 485962800 666021051 677137250 229268310 661773395 425562862 572010415 752625072 504044032 594086107 401211775 233371292 514705941 220381268 668349185 313811486 943412886 248923686 783973371 925050411 500784985 210160985 970279635 564461489 837876289 701932703 260394829 135736837 353651487 874751128 157565737 906011941 351504014 404863918 659553984 913605293 927694014 602722928 266957676 843086319 274136781 295432147 557434688 673798980 174002776 349982489 341755561 655949768 892616403 918112914 264084357 415019457 560595380 669928239 660174083 797448359 727085832 215952406 222601310 212909041 151842693 337965540 824410261 464607294 256362105 267235474 820318748 434997421 380871180 650971011 192609023 325350304 437609253 478494823 397014140 780651112 423511861 704692918 271950576 526875980 433943976 486605484 329132843 287344128 904396275 128477679 922257871 299281878 436927072 706228135 331893371 726370448 335173835 361003710 151018825 608335525 501403554 394828290 610957708 193683410 929079436 347138868 159359107 146124408 469651078 116579423 467560840 771088091 978252081 537701400 376422464 888892390 861167614 839815009 733772472 102331920 376438351 433082029 221912973 962999593 422156945 276834148 464892967 599475471 214047914 331495655 980475817 843485771 985752466 600698350 763155795 277824449 126060807 840029021 639538216 785830247 469666667 391638591 292534922 121330729 121987290 889416516 993369769 145489118 385236747 896612284 607354685 755786876 869362761 562517463 433629643 277717131 963874533 867294859 635095946 505688121 120220623 924544428 468174366 903044172 262924352 578374556 515461494 938918425 169401922 680840255 700936231 727892161 597370292 738630872 599495362 169707836 495784326 645425964 107180813 564460554 648306335 334371380 450100600 197552214 647326570 785142568 768784151 328574572 945962600 786585914 793315620 807697019 737733104 553109983 310439901 152268845 105742428 130847187 833254607 257373168 963683947 628931372 483539783 456894445 725279369 355573545 144394279 308965054 317091205 177232007 266278338 344755907 655769989 967671176 820607053 369277745 532527106 240713830 963756140 959704872 745776072 275205731 593176692 147181420 136374769 670352421 329159399 667098490 744241915 967234299 337729236 555150495 151310464 859738169 362149398 746421280 955404936 987858064 824001992 260219263 915590370 651363672 813981080 947006010 534856224 572238377 502548452 178771188 625250922 512737000 446864979 243257742 236850180 520625137 879592050 491713456 603441788 874272590 588061337 745109469 337198430 479442242 147993226 722557681 238050777 281051501 391296384 700606975 749712739 143739859 217577637 450995015 912741445 835986294 587420126 551411522 930606903 262823326 303450796 163754857 188441918 107627549 895465139 969432986 690103254 659315796 686731139 453517856 474822219 475275255 985032674 868100053 467392946 355931046 116663255 339853849 587813098 814146704 389237989 347080672 840578447 478626354 207081450 693009089 404131424 848795487 815826566 543701594 713697498 463263126 325223686 138298915 467400906 104553516 271860566 376722601 112222714 438597298 955213108 315517113 404361142 365786021 783945817 304461984 482118202 937795209 984307881 783084889 169521239 670526208 654534777 559488824 545324888 414873238 100992744 424905902 916132078 807818009 407004744 552918658 726814688 319658465 560656140 306555747 770424088 888852697 793596828 514502381 371205682 367989100 341343154 882665149 915525524 363099858 566641879 763700159 119088802 503435889 741830191 454929533 318937039 764869244 419400637 291904120 348060396 593875374 494057626 783906294 410381812 265687495 271232341 979163292 115738805 530103019 634478595 542565446 210634302 589531877 922878546 267038756 694133912 856243466 200179778 750532338 643228115 838287455 618260709 544447962 991515776 218505925 924823124 723207708 526247612 730511597 154358008 276156989 402948080 478010440 713238657 910936292 578803403 157413470 440684400 719035404 159420745 386953458 372694326 793099040 335843531 559879765 629451153 867233201 971757831 552559932 791639782 848951441 451743256 629950558 212174914 355714216 109710196 194969592 633312766 565999010 866067507 525783206 928477333 759375877 918322359 202003597 351850138 815242335 541850582 193946520 857278721 164662738 556873104 983673495 362669210 929223952 161421789 319272695 556434173 408185974 455068915 207301897 455456323 541624602 421897218 918871603 479396041 319953542 578600850 608850518 278441606 901986994 130392389 857275154 959398717 283842938 901521943 562428026 769764501 514821059 482307536 224219704 151012490 687677839 866586267 498568125 794921928 782419961 775821816 831132535 206410295 717504588 127786124 362435106 787060232 539124144 971738516 984408402 217569074 531820457 145327119 417827207 556468564 601928086 476077018 350122569 398008695 483446922 973175203 393506913 969810107 980554286 719951349 210960573 980512452 667716567 465878323 461715401 934104863 832199351 795856990 881064420 142138218 969970607 318752630 716927542 562138923 668652708 531285151 813269667 613083391 584224576 912204175 149987270 224545428 908481557 631799653 828632273 437374496 672878043 746535871 613597797 568884456 822282589 994099193 432268024 727295379 144197963 267802639 553449401 958039787 811677220 674980535 578498303 561850071 957164813 928302149 364006819 278768643 333540985 845342288 431472392 587297070 167695783 668868336 570924309 868858457 586083374 233473761 116412528 844716035 133189724 982478969 255251281 563560337 358929546 872773496 453117836 428907857 659992954 272810032 648783483 951960950 142387360 139158841 148821748 823548410 546730434 896940685 362418514 121930284 907068344 349452048 569302899 913166243 833669249 797831872 196552612 988192037 518644491 620420780 618902041 421869821 435119370 318060535 777946326 805406019 513537665 110911317 994365592 401903115 746055490 680174745 866292402 222359781 682491931 719587972 724884004 724986946 489128622 203695311 563645564 722319148 232294274 906837085 317334688 166951005 788468485 940377423 749035572 994267385 302064053 627765634 166238564 912446821 372322165 869185615 638482682 232465503 459332151 695107881 898116444 119548940 312862801 170301766 768721081 687774667 547324930 669162390 574429817 325213029 514131503 809282968 916439341 714625490 405741550 296693979 330548096 484003375 787136016 361402234 688905481 514611321 462507409 690297232 291381926 893318326 746708368 819255713 901437994 233410237 979078981 513470749 641673003 207263293 433843984 278546160 632446458 804979260 216891300 211115310 524177444 722270181 632195539 430398762 930093735 545191472 336140275 786814680 496691754 936739811 823209454 856399979 185740672 495272654 411689508 109351038 310688770 401178424 938108633 285360640 630794138 380122427 953411192 331806797 109839181 145934655 315863694 736809825 415889156 288488607 495469528 697749951 589907484 837133935 311549976 328251210 377074867 365171269 211909852 903328449 231539381 384293390 960158813 257015551 811925016 468013099 230650186 955467014 254740357 111209940 338835325 108926824 641903177 104666686 531078100 153338920 432928553 115029698 767203205 235017207 494849433 945288358 264953499 993859958 791301206 975113685 378744489 220834014 454715785 960319707 281136933 916842033 916229272 866033354 545500402 420174247 782679901 777084138 272709624 976359582 810834333 821384376 390020237 300952584 803206546 513643879 719926616 135603554 313701763 773405127 983868463 188225012 267771828 825684827 628908081 473965073 261072815 326466040 286497928 647023988 530485528 551463267 826467775 591601888 534783604 657729890 411311652 541800614 757987801 240559506 966648232 725188005 765180000 154811499 834405383 830278766 457179033 795009611 614511098 870747118 769304529 851639360 119571992 845769981 125960675 434450055 861227676 923484722 607479848 289813203 770431488 799809401 754836634 952206786 792758258 649225324 974594954 617024782 488694414 641264323 547744693 398068616 703361423 872733331 272831821 399049683 366576279 518147526 590649157 685931143 557704155 595389975 365515946 941806723 120089851 742554231 308068772 152578692 541328935 560410988 567646744 393712876 192480146 962846675 642152057 788055398 750698262 473671414 215896704 570618170 631551967 985990166 611305936 721353061 200257734 215188540 528601039 763887345 455207089 567084038 990622699 344304861 306190480 772923723 421456687 270781368 399002478 579099856 871837417 935613114 457066051 286881343 334020557 732420251 805036224 592912742 320822488 735470297 532248912 595452374 664823498 998897802 283003416 530537485 923579581 920912640 583329781 378171430 886590041 670675597 392091344 538078957 151832901 747635165 319618877 692860852 604778187 855885566 750817738 699899171 345508590 136602864 713934199 608473944 840268469 888283645 703600516 587106898 405607753 413449448 162069852 578053030 905651832 278934484 485165654 936150031 479156063 495720470 649551520 587661785 813628163 274010381 660130360 795294488 998061272 814574251 112998824 103908003 998287875 890636729 849497640 430131150 833314058 858309677 203858926 351753955 450503681 922140050 106849699 831177258 771397783 619551500 866213557 364158721 489292364 628400773 431672181 993212738 431658584 639420122 794692481 102730608 197637571 571268009 900593434 174007157 236184710 368499980 580632568 120726031 254904125 861237100 645757019 237334160 780783121 765275768 719881210 599393209 777380034 370896622 838380657 317875419 586415397 576110053 391962654 846150916 103383158 129161818 577804467 527981650 501004148 935506656 382748590 415947318 989002805 174686438 507794327 278018646 256162929 814864360 154370117 967794907 553390347 712916171 613262314 835925293 905045859 472083544 183437982 421711583 342224713 857330840 301296276 444130111 220480010 588666598 533900566 822427959 659956261 840648404 350748254 288986013 570491424 421161743 666722840 880250545 275985876 312315300 332505643 391313561 156091881 715662537 999246448 672278208 212222535 169551728 298158698 355108363 393513108 354697664 248954337 776118813 232291473 267092261 585185384 360423834 638674981 171327718 370470972 639228970 579149168 827277946 464031395 763097378 165390055 598358560 627034137 722973546 423817630 824157656 625759841 786837725 169632914 950857438 400031389 510166223 481001215 768613457 190980782 835229191 175643934 959204980 145119123 419251266 915150074 854295694 793036480 733463780 978966165 427706548 533441460 999659356 130329844 444663135 281660050 958002052 390694459 686528423 896604439 336238868 254319829 180595823 565148961 575286268 746874893 151761369 512675517 508102788 924050687 479958256 570698148 751869112 817319138 934113161 513181575 192895013 964917520 947139826 385402850 574978742 231973702 228885252 811889068 532257643 289065259 870962578 241796215 728784516 338052657 876582376 241530135 167721573 407505025 197461422 905282365 343351944 641152278 670247877 911324603 672806247 890597063 698610823 190521615 394823943 793057614 155014482 259440025 215964347 457719226 876385738 693365880 883909807 447207434 686668748 253484195 271726102 392618288 662444296 606998358 504591187 309148176 487507467 974102911 503356163 161909211 268833088 714079821 957945074 413868233 903171001 773891398 561120645 435874666 955771740 943004831 929327820 260186964 494391608 691637175 238604575 530394706 262424091 195650924 296862618 935347202 233924874 756409879 391442892 498396157 210448799 673527045 132966982 445891071 452962274 775366810 963060458 168650462 768210946 227158888 142425332 682154107 291845441 695321030 673858329 514189424 219285787 411625144 976234711 688043678 503741513 917568902 888427268 503123120 486714967 536273937 631877463 471024946 935722095 368367515 471050777 431005942 587990239 257263435 886837141 634018388 883632126 254259206 703645417 606264317 354848735 367827318 336253555 632654886 482897336 613873340 742429163 141910950 957077467 251432218 903887405 431417499 265905457 979900151 699898404 222681445 593603772 739962786 714444227 233787293 905347522 454058820 755280513 213915445 939293415 345654263 553788767 940695573 949617635 898085933 969172580 281811650 162961505 937901948 843682300 437368402 334678492 281372098 369224693 243240704 148410963 135246799 633811968 375952805 259340264 369522462 918588437 842708012 606329226 309700470 675152374 433009334 272904758 171683037 438217082 687038688 563247906 252985184 368188764 374679300 593942741 721946227 849295737 708599404 733670184 984996344 973304239 304283776 352604222 135984277 388634933 327952810 964801475 364854971 386144658 928691959 912027690 492566963 897709163 458519267 754074874 902611015 983869960 613655678 645423744 947829291 954320182 755872588 676157518 509555568 293154474 449054988 125358059 238235630 560263517 281299191 591766156 235979042 723119387 530827262 690085970 506595155 373782949 552232903 957214700 333130785 998091456 410771900 150996972 396482344 488368729 699394958 895664804 215059576 149294973 653553518 757982782 693509227 441733895 496639351 219631722 471208576 987174339 879105759 304784017 465737208 890019670 707547927 305197070 234414344 743345675 583871216 242028091 849156080 804475721 417375507 912917691 857739030 629398075 197945197 396944759 811158066 301982607 997044467 984221801 669429480 576019703 578116038 541705104 581327559 979427287 827931674 899696089 557729977 382947192 856218444 250080980 156861927 619162543 697815154 333913359 315861611 630825357 317224753 244235953 125823964 253358998 462021694 312930981 855601468 585115975 773364365 843604519 172247826 479671532 294990966 988208046 663167646 224546632 548375778 338349891 795263773 181149219 448429065 316393949 718186911 577265107 300807561 941896995 546696772 481969216 885735700 816096972 475584374 883671529 610932149 992425652 861888778 722945670 742626988 875638045 680906084 384640853 817326936 614382981 230095663 701868211 105447813 243640166 705162472 810992172 312040076 304740354 824520188 980241010 981001822 988524936 494939137 563355747 571100888 256355970 832949890 158638627 957135605 990264967 927925783 633281182 875943563 823878969 854006228 870829743 445480454 904521403 242212674 965450884 589906633 427357658 662267763 930650363 363592817 537900118 530286537 106637985 608623408 759551854 295451019 225492602 901088168 380591620 981944243 188568110 673424079 379391448 354845560 990195606 690146213 717552928 908520434 335413240 529468128 214321401 515058983 511513174 452423878 650423021 319505536 354899730 304020921 846531181 274691347 620073659 199193359 393770515 430015542 309716660 525984426 606767757 613880796 954365284 463421914 837154581 905867868 797606030 188462047 750702761 670314829 958290890 485754631 845282785 177484306 594037549 534147403 823522430 644405878 754761754 542456042 787952148 306911490 868096349 146045657 712702916 140175747 679084493 801771805 609807860 794412748 300771723 623965120 577362783 114087768 172547174 798212490 226501183 633612933 370809310 885373740 905630028 163229991 569182681 729251206 295918626 964642775 357096230 850146272 519714777 985186235 537278792 588374382 242866142 635888348 198725769 769462372 183455335 987108187 211322936 405749354 283159642 348606349 430367163 916163461 642666012 999542940 644651750 323123880 936595708 926265469 118540040 350808028 554311844 944234244 204443475 553730754 171721918 146354437 705849939 794107835 167834030 345721883 493634935 673549454 659139133 685091653 666152923 411543274 746649314 768620004 583794449 358742806 417363639 139342057 235665676 617256201 868963662 839188700 574499565 537176465 545912526 656761324 868310921 599088848 463572034 628129316 645552683 201512610 201444796 841515114 218065279 653637665 839566006 931209048 881706585 276976648 397725985 381808298 398456192 304474343 659961597 372238990 108935362 276063268 476563818 251679042 406804792 213082084 118696326 569872414 216773338 927244354 980227628 267240681 390193552 506712687 161590286 588961855 167719139 575675078 698865176 503130400 670181002 221821380 130679555 588804006 941262106 740350310 112493817 621861256 266012505 750952940 536462052 290158686 897837056 450521770 553397370 906433654 920950936 226992416 800101112 965782631 678633070 289121619 184178029 806917662 824657326 786855872 470188055 410246662 423009501 302201711 520748023 288330394 576058106 319496137 702472748 233456545 323607232 157045091 706346618 643601451 576497667 589944460 446643976 135924274 649622343 978588454 185980803 869841809 976478443 477114336 498255721 440910096 344513019 179762904 542474936 341762783 609080776 594778869 989395791 533917297 461989323 110608949 438899204 228608859 343779597 200298177 285908900 207367518 479641289 577173554 196741937 209407560 619362590 538952345 808585161 963925891 781784300 292706706 843649618 554932353 477799605 855144497 308796743 918932864 284348935 899567887 250637428 820667448 827722157 934530676 978486536 177975382 494065591 555381840 194296597 290975088 176040282 415950505 649052034 735292309 727907537 562441628 792295746 871136995 696888315 648184789 590327608 902285722 876224494 927786083 210993625 121850261 270369413 644830555 301160840 267774912 232631757 314775029 774987395 783547017 674285484 906992478 792970587 299713611 783515367 220662151 941979556 109411300 711875835 393392382 165901885 774282379 230583127 441605357 855644102 688434042 957771097 456720318 662908268 749565450 541689423 481335004 849536156 920317401 672711337 566638964 323209846 276103358 249761073 749838900 192738074 343805979 656147838 562702137 994999621 866169312 364461884 107558196 953650370 764575949 537844234 934192892 797447581 116660793 651114629 494796376 141643064 112454962 498707407 708691024 676749489 463462036 383492389 930829149 496141262 427185533 582805202 519920109 683876559 425116888 778168846 665255772 479907046 340255509 929007345 440558669 812869871 329314228 369898589 922909098 920678042 991300128 388290610 622702413 359676934 269233785 925524675 411256852 630383520 373907816 460848704 472694652 786771697 250104778 600829498 566302926 466955448 824951774 967096793 896930949 731800572 235572948 995985138 423198011 380121126 405583572 729028540 623024420 770454021 619393441 828391127 262764460 378831436 722613029 749594613 109542337 742236760 508217386 189025507 579900228 511134360 829547743 942178080 966463860 378761529 383773069 943681601 933230814 243371781 215251114 367988792 386218387 365515291 613963741 876238321 116071032 611457637 315994288 468331749 455424930 524195866 392573921 409025243 579815243 588774537 451495082 769674946 842641892 992742853 246382720 740391563 175762508 448308071 570042855 879593139 162660084 818544994 113292428 715988723 826436551 118610960 762869146 180506768 788642764 484542538 601921102 764159818 147317868 838380652 578229485 615985638 137582638 155312391 774682595 778196498 794791493 532083244 848537307 557652921 417400252 435412873 788808371 634070289 243152623 514627946 264845500 195508035 380691517 724897162 379374580 898426115 400400536 604265164 423606487 938456734 635033624 641842092 788643434 888712251 151812066 699161988 770722036 941168652 586931227 449050962 413538204 299568558 844488611 243791219 855093260 202596688 554220303 555026926 535703512 727078913 835185312 819110188 168955084 959257133 390129291 553872232 953964257 917452787 156933758 834616594 750684856 158894019 898383060 758053308 525797849 115080040 800301277 880095647 479464598 836800921 699504173 534186618 841994484 961016067 938908362 574181311 321518117 562769970 291310107 800013424 760569311 397104536 438440337 116170642 827078773 894637922 286601604 477294318 495984206 920415496 491539881 549120850 270283557 460854773 876998756 789114848 583761594 271323113 174855174 880525453 243369933 310000932 350278913 573547247 495491954 182370156 537203197 824085908 812664236 773108308 340506436 424945439 339011330 936696129 727244100 234809468 995841845 133150630 842981461 917763995 461965648 653936462 677259020 138611160 845306209 724196726 897358144 408309197 701403746 555922519 439183146 441693054 689036585 699859000 398356701 697652447 514537041 406683464 947079789 555902382 355836242 388724539 480103676 404517715 811076563 853888807 589431921 135013089 979069856 857972661 414274485 499607861 979645926 734710886 499761851 262661312 283491157 623401385 668644585 956406585 506271949 723723582 618765527 833520413 347392838 577233116 260142383 375457262 783210428 795155715 303021541 952953928 994756958 303276180 286240045 444222740 837507578 945915604 979149753 241145855 784402236 493252874 555855898 525071975 236888730 350403181 241919624 649669785 895319774 506196235 804529804 887754301 398123176 171349827 193203479 944676036 839238382 881550193 935103981 414718307 114269856 916120542 975031308 716133107 380538670 296677883 286567895 459825037 904718905 201733100 253784943 410418261 930656390 451539360 418320346 559297818 208363362 596695424 965494701 473135280 711089223 366515530 216491843 281539359 465180824 917010361 257421946 450329699 130670038 938355068 646378523 556321657 849575515 202364426 276323926 184480916 727927250 342677174 955585249 619857507 881500071 848568800 344243765 129425621 555316757 102593479 923079523 948401413 572006179 710003867 528983300 286243585 556673397 570417731 320526798 279813251 649114029 671918735 701199608 714284947 684874364 726756887 824269122 678955449 708062514 704435664 399133832 332279228 590449063 663877809 167579858 790171524 205341050 160682029 601221356 109780696 364438788 523472655 952528688 841257647 891131711 164193652 780574014 767497962 337922262 704985813 673804932 716607246 274436661 267395557 414939972 416400081 133100393 515629044 882528651 550798413 850865254 223525993 178315780 502350300 297627320 961824027 851627022 202045725 493015202 847420168 406090319 648974506 744821306 872826023 954737476 441328450 695593094 190475392 715149157 407257109 844063506 368190020 691098423 163644875 428235374 145691957 306431142 725250650 729107268 694579420 432501960 508580045 552497223 862501374 644905606 287324854 612276348 692980468 966189002 258752624 800915447 453770860 677734724 305052393 485615584 145561031 847190019 197425134 614292327 746678151 489652309 666185490 810768492 312406067 697361332 590102388 512077109 394403095 192621853 237993531 955814836 505467015 750824047 646875779 902129543 511111550 826950753 357083153 534068362 911536875 515430558 886945253 605091549 690303934 289951311 966437197 519967736 657653411 517967569 114826019 378849224 628560499 429413178 162517524 345164647 296294412 959228044 654064500 252282800 266384817 807141544 849099783 974369167 455619036 563715413 644085553 911102793 879921851 707377520 872597016 978859937 875656312 898205938 741743879 482443367 136478134 735267305 581238872 381130517 845005081 678712641 272028035 418881862 717373276 752377998 746431770 554121342 317804146 931036001 896410736 551485483 705304304 382737206 604213786 437727221 905533048 555867120 978471920 235960405 547539278 645678653 657185374 433411592 473280388 826275760 605794712 546566825 373238058 729998014 991022977 979307240 637739802 357325608 312459745 553232430 193925161 528515997 751637260 750234509 310243585 375056168 516724175 342341640 366282956 721563650 111525446 588946386 902951129 297652845 237461096 807293888 595370032 333125562 119972809 208824484 380605923 141196397 493907725 415849879 923550708 460588827 117480940 507463922 569198575 181097669 769020180 675631152 952396374 418843152 598464039 146363464 875733049 238160910 999374889 884034287 648757947 390063455 486290159 396102538 574491669 630374921 191418553 750398533 914511871 496980112 887709172 830838353 895300558 538295805 997104966 874409983 929193734 701016429 535357156 998768607 526928473 178746626 731354542 720309699 101584304 135133428 606667731 294987756 664176468 518174560 623931411 204716346 366448621 745065917 983157558 329246186 172166624 325351519 339004748 150971618 230795614 686728808 210752300 439388314 886493395 231234963 184181896 113923439 837035255 493733017 273867969 428473859 190394390 789539116 259501905 713916052 834625403 562741337 800798262 407558123 887309576 509519320 385008912 427106920 852676818 824360531 613150266 231375217 361460502 916358433 376743731 810270845 427978193 905835820 379340625 229401451 496115479 496186599 822493516 601873763 135488382 995684370 709732175 740056774 742432447 882702709 405903972 771019395 872403837 335383872 804076158 706196958 688808648 997483893 612019857 150470092 417890167 162004282 576818366 519451521 406252555 400978781 683437995 656932638 425112091 908391986 448226825 811849178 535486865 503024399 758559145 767949187 682676721 218543508 699611987 269887332 375518291 867373869 155740833 714581535 879770307 785082839 294537241 450459658 440486049 284087938 525076859 931643066 487556351 851730739 678840464 546411384 229731375 769214639 815349513 686206739 956722201 143687762 109135950 766610086 180798654 724999009 348564561 794422702 180872367 531013775 539117127 516007754 319565823 121349233 785371258 500178151 295853444 835220889 754340787 111543600 178273082 183553276 580256283 619719731 115118257 634339278 133260099 444444627 825306355 113699602 288713227 780360023 915251087 580403468 636355642 632238677 124755098 702124343 726523685 566871712 498426152 876077656 271085830 743495758 301277099 454813975 520144255 489973280 608016097 348106163 563798205 729971990 399618094 847342612 301540119 818051033 147806297 866962614 137852577 539332950 944686671 271130349 288436826 827708192 321619312 355012375 868057105 745209976 507312023 487285105 533300813 900612764 758577528 242377367 433797278 880685641 768011405 140295646 306358098 340464416 516569962 530848266 976769957 668945757 289753305 495308585 690024893 306208103 110500372 431689930 219972445 310406578 494797689 992943772 963434167 882178200 103249063 317304346 975945817 147540905 719270033 899907085 574257996 390218640 804024161 927960618 689832333 660209391 245655272 875666301 948968492 710582894 384017226 468551014 506530175 327836094 352043682 478339152 630251106 167856725 100258550 966950416 106336505 474658922 761914639 536349390 889581778 734291052 765827034 405953327 279533264 684570671 675275463 565130605 814528214 340259564 170983097 913562557 868804374 104802954 412092401 732647784 454454399 122696049 916065877 149216177 304195445 121049305 413297215 260282609 440122710 246746874 254632008 768726008 120400940 128052290 487245619 895471047 532478348 807155747 583771152 376565164 678181005 986592868 715412730 682551516 333254056 357459648 968885917 127177254 141586461 107406457 650767198 457797339 448744782 107139125 889815293 248089040 608634229 933083053 746426048 234849700 423356651 987506607 363669519 789360989 669143813 537419777 498852497 541603345 962729169 597982054 219566036 143119211 394088760 893001970 140321294 475110656 910652219 557000788 512975662 488623304 904129577 304250027 821876511 760171491 659243033 581070078 168996944 334709500 640343163 702773318 683444493 986582085 464768776 538827338 809139217 773277460 506415785 645339453 133354021 168725233 536181430 429883151 699580486 111874578 720539669 359914700 947191252 102402993 905935822 924033968 479564688 939612573 784640551 618899331 231380689 644885592 649431226 998006751 586416711 393312317 484307266 370563428 360638682 695410835 925362734 346585668 440478384 196118666 997214099 798090936 866267331 729449964 665394186 319377663 963249789 960418376 740927393 102867970 775771438 109162820 708324223 220808875 970030405 605791612 720788198 817067298 566616964 264346186 374151619 669697872 293221984 532632727 626515584 205866691 970723184 906487765 723620824 513313677 779988823 761682702 970142154 336534530 456973249 919697290 800599882 470831656 254340737 315286961 560700687 600233263 789731452 410332868 578112362 302441940 673483511 376034429 386285859 457316376 269517487 925022999 183942591 108349330 137137000 203175339 167089704 679848367 593638755 661110025 448068706 647029939 561457336 273639765 753066629 174843769 499637520 738703895 776836501 111009908 374063588 490779943 470958653 575826838 982336041 837171817 129500834 126324143 381440232 959002299 206081005 298575034 441200729 774359147 889282496 648844570 932686507 206570861 829635016 371831739 158048152 485202368 394374934 844393466 942384660 294482390 660401755 362014030 688656340 461629322 913837373 471074803 805664666 320461319 430794453 907706229 813615805 285891887 821266098 770266731 107950687 499289512 458123636 130260288 504397879 314576689 257138374 873495056 635501448 437004965 871991532 518119105 458138818 747683484 925210900 744218036 830639167 106728396 915247697 400031022 652578108 903119217 571327375 515755487 395778357 208317096 192108791 642977552 264888770 603301796 778749145 411640720 270145233 810022204 239708701 440258760 714180010 807716825 405056659 585512971 659461034 433114872 741051081 467621870 540731125 527292899 568568590 386565648 650466202 144429374 414166310 147641921 868396142 707664403 192727219 459472659 635304732 754874315 794396731 803138684 206953074 450991356 976738484 184304381 432700654 632297626 791753012 329601689 920833370 924746461 511330115 552689963 375435733 176778865 612878662 853090558 479441719 645766336 728019681 739894758 445180802 760132588 731843718 909530163 426392920 884547265 736012345 825676553 258514680 370375191 310041413 385689801 132100015 385492835 575830706 816655347 812546467 892264916 262383150 181172218 971247369 145216301 718328235 948295906 496232234 800921055 173518899 962291927 802879147 305946261 812055278 583039078 348935975 175417223 934812742 197347730 515439101 501277309 153848724 861070362 362332477 281868378 402347382 669027668 161465350 241493327 537887401 224989612 300346275 477241886 117693645 823227592 421767550 907093650 696920911 378933278 945866428 849042798 694795249 105408830 556364104 719198305 823765270 178099089 673591059 420691893 754994008 886792342 540165700 171995986 803118365 302358613 790370224 539072203 482424253 988166401 504583560 567804795 159641210 428668295 524969836 300483520 410340152 637265048 954753770 558371600 435913258 626539003 643405293 892366642 905777275 219068612 935606662 659346162 909205848 141529698 652938769 459364794 885243772 152650466 513574011 734711055 130913543 736114376 205990814 300509368 298618843 617123234 349263343 601237260 447442177 571017869 259050554 155688039 726352323 669969745 852274560 346814112 485135899 106883965 440419618 198330102 776367079 152017062 211196705 410667745 832330129 134507552 350430634 304057050 409502004 714606533 573858387 998514518 933663165 973314859 848900645 445129131 429076694 603928724 663404405 482088606 815285441 367070845 350506792 188277998 866923749 489174172 290533617 517308474 937469393 378624076 698590617 332182585 651159927 592032170 408401263 741234686 613317693 751871348 636077465 826400979 574279738 853734506 233999971 262380708 246957150 726307594 705834897 796148142 372277269 299930910 525960338 228744007 369972401 638738418 450984710 183655414 206814772 158576265 653897910 320261306 474689028 720029279 831092284 607626519 488839377 631395186 908392758 455115467 220881524 327936665 537889778 472050879 511873084 467169953 767944333 272799044 218667848 376312476 584249222 269802945 419913535 144783208 579531398 815182251 411793442 247901911 391570884 572985592 670760327 538266968 255690256 426704180 597161329 905460669 111596833 804338130 868496672 550411348 162549067 294431280 434281189 372731510 421909617 446897144 830402024 305558183 403211385 899932760 515075115 462454214 101234499 315491499 326847431 806262880 413655319 117335138 447329815 389699731 672076551 102047652 997631683 894749359 506097328 349509558 128224611 650700689 437689244 223291885 123266921 697252848 801845832 219854053 680197924 554226997 994050123 615776363 779663781 461852202 630379835 986388796 921052623 148815479 630742929 511820907 461857763 597356533 777066359 510697212 329195468 717831594 232066913 766111543 909156559 572749862 805421010 592245471 433371177 710763649 249211877 330969337 622588028 760965240 585981210 394432830 349004545 253501164 164203497 651455622 438893419 424208384 183630831 540752855 737330081 232497125 226728176 993929004 889285110 206040611 597839094 389143924 696380165 660353993 496807229 923356707 932195181 349051863 646489120 356396395 527382395 677553850 585920086 364284416 999601594 378851633 297320661 405179187 571974265 381095551 554315847 947714504 450043276 944681021 494423724 613900523 641520943 552557021 114939609 432532600 387959445 845739126 353384948 115722464 641155703 579110321 178460938 578596288 487563792 733776925 384644594 517759165 432292656 150134883 248366690 443869790 119893111 256397504 641174515 966298226 902249577 467856871 556259880 761717281 384587007 254134514 491067483 216592790 457466569 373588335 576427515 675144641 361938235 111370744 308448624 588288830 457483599 252952402 539888398 985804654 978284312 921463892 838631678 585991781 492212197 763409733 902852818 808372690 975942110 252523196 235059438 641123382 335865556 767298527 152729679 823641605 232607700 620046793 831816732 768245955 237597323 814484434 668906845 856144422 351646830 507397507 220306166 881435794 793648910 801869597 436555564 537700032 259756907 591623876 330738249 833714095 443734153 623887336 902876435 454905658 838009695 905744001 721795949 563200061 345423513 615896624 119304714 688290389 673908399 476170217 559875020 954062579 904358675 912612560 824158006 851989808 855507706 770921142 429942485 572971374 770821060 588484432 567512799 231042227 969895345 732278129 295369760 396767182 369915978 256215342 597491877 692746976 542031459 891127766 918059313 917509891 750338315 587303112 845694014 454857971 922908906 147007399 549310789 152467989 874036524 777769705 431783953 481948272 400370291 487665509 662566110 158305573 323998237 213842186 114227067 412023944 275615913 993217803 361930396 179253549 136560615 329607485 844594321 782965688 465641143 934388708 174395454 140220958 105943893 945707723 670750948 361558187 498930579 515455588 759234922 320159311 336588243 539678775 521163461 822975379 155729820 912417897 673043446 302541285 794678433 559240252 571025636 985382978 636721839 858389007 395494625 784441648 310520057 536950272 101526165 217734465 598687216 963086079 870268801 456197077 695073963 343865587 199510417 404564806 590120904 494954550 782094393 856771769 258888276 709731689 261032573 415927424 741486465 665983696 372402792 632729344 790355285 457957243 770310055 815602229 789998852 446824631 827360429 562445435 321588949 233673464 304989276 596009318 376994020 983111330 138023490 212774426 989249463 862464124 738929867 136569248 653208308 360699434 155210463 249217154 485892567 887774979 443438721 164516071 707938796 612611509 457344756 307435244 526789975 338284910 190967655 275934166 880902497 222636048 906611985 608554957 256370847 752435123 356968051 561755058 850123843 387247427 424980458 702898928 123160299 307424412 382352538 753523916 351060632 484935674 826825482 390606870 787321807 919546413 385977202 876023717 479597603 666663840 761183569 171010712 865098040 958825737 768836806 627890613 478298850 256409503 473312258 946970593 628335873 421888691 388817315 566006788 432613857 977776124 507360656 933505104 949717020 648065528 854587672 126948972 517138927 391855496 736718593 903256994 759928934 277570820 528942067 819170730 834076292 866112562 548477946 753007280 867916840 977414628 964407853 961404349 286747222 611514166 816999751 888046239 253834330 254625104 337846197 515232844 109344846 352151915 844218082 265652934 275373943 953941355 442117027 958478570 403947062 627395553 729547770 770808093 380417644 344486494 560869407 810950922 892024806 499035670 567551797 561130131 195781807 311330134 405862304 195552796 470580061 427630209 564629810 567832245 497717054 895786718 456351000 262866299 139482918 643461959 551029270 942572992 614355110 762098101 420699272 376489775 719190631 488144160 560180175 181810016 943010910 406384114 236545307 314832516 100227007 850325188 275670731 998226976 572633099 136384975 329232553 847059149 860704056 122980714 878229994 341373287 630797579 195085575 425052063 368836390 159093705 150291344 374206044 945350316 801945225 884441094 328215864 604267027 345887043 393417119 200898412 980769985 224713099 743920372 195991902 201981184 358387578 547588517 104005875 586164389 137623697 706049859 547430325 802776022 598882931 213814942 614923312 469546529 857619847 993822271 210973812 399685539 882429058 565915033 853417040 418215029 133966875 507943065 526024493 426362749 490967529 248767180 276999202 837726650 901223140 466267968 658836313 280859820 815426166 584594162 293701519 257204242 861778881 933921349 239253585 455136325 997620158 767515710 247468941 886747058 671165857 527504729 167640233 347390221 460726766 119431102 584510504 712259437 664147622 649306177 517925068 512193658 455409542 440468885 122325873 621806704 415649951 102678131 279728218 404993142 478788478 118702728 188280666 641548018 593945884 816299011 291250598 488631974 936392848 664245687 451350377 103273065 860143140 902397394 718190526 594176965 667573403 957280630 472119807 601389457 431630447 857448497 495966150 913423359 568045413 487760057 133994294 255251925 515382166 671310174 990380855 860681783 542560695 612963579 139167029 774914434 886415726 870838799 522404685 224980772 594370073 147776584 938235564 659016229 438079974 382692473 546334880 444961443 476731810 271937832 381695101 271784994 527318863 249237747 489679238 256913508 594476526 181994282 458094184 617244093 283573757 356422114 943343781 348777619 863408340 216446854 303472693 411696192 455244760 576229173 574845472 170069695 667603324 914676681 812320419 733634113 907596669 570090992 737484956 374688666 375045169 595873046 660011217 791731262 105463509 974747969 947939895 264238092 684500196 264772176 999048608 849084848 741511025 892747255 649038597 156573501 829024416 240466026 107257582 906925171 238350941 552308717 993544043 351711374 122324546 409231822 444122691 310278532 738724803 574296520 689912550 995274803 372738937 709286318 582516012 620860594 962450363 658375379 550972218 348841578 964301700 210531507 522791098 222342751 274339290 723657038 286957784 947266322 486396215 602478397 827492772 727150975 756661113 710157077 467046500 182511232 958157222 373573846 484662448 782314642 506014116 247329268 512165089 564963892 684227301 851923019 336608463 660579165 410780691 138205257 330991741 644892373 542793760 922907942 631999257 284366878 339565647 521215474 232984393 678765136 970296563 835635261 576177019 135482617 526087160 426076799 443223803 746471160 221601621 483312140 678315057 361240610 740961969 959778775 691485452 814935936 918633681 573069956 766708816 123773363 712492826 416744335 576799510 220364821 944519142 701401318 894884309 351248020 341632850 680773516 950110655 317968371 554857431 783081539 694743175 341204213 189956946 145142706 132775518 231588336 557933280 618519130 897948226 906990862 488048510 280861261 337347568 162593253 519886620 560747311 861366828 894952530 892300716 234036735 333944743 234886370 651667985 459868075 121527769 870331757 246280499 126274761 719964654 140167357 241350632 868347345 175781363 317013763 215166111 340058178 602094308 735109839 286327951 228455029 930233756 105310093 424592200 303519507 420505711 225725474 983606395 596011220 840594447 872037272 222589975 713014253 721285691 468366578 956761835 654405756 990015980 700836057 614408366 727358350 194370332 424018416 602727862 347385100 172892915 994005286 869875950 732557172 467906815 783688366 937487671 216925218 726331607 765859422 288168119 602725361 943594997 586571872 285932923 389932939 359651560 580758930 200080290 176327289 562174273 202106460 243353255 675856167 996787501 608938284 640398561 649232807 390918974 801999713 651719453 884442695 395348654 340125826 530933183 321615352 757564223 166554906 867026531 491081144 308535035 391803167 103397556 740897660 983688865 235079538 214407440 475031749 486662663 764496788 573083987 402586268 537071622 712547946 159289588 276586817 940505126 304101987 247296583 653478255 788621024 954280286 966723488 421853759 793882340 347370372 755808899 847114641 117578706 807625569 396649559 894072926 266598445 485325395 646972966 615313609 546222054 417041870 126270423 429533673 506851496 233601724 151917500 656012506 562027949 548453577 549041702 567577895 710009924 290072097 578636555 554155527 859532258 160379447 541675069 764873174 935567528 109889453 122115936 650628277 951881791 948275099 960112423 168222149 264831416 581538851 617463740 353012388 338570069 103722846 611817707 248601490 300085658 226517070 125645634 816690361 305620234 712312354 512119529 346029426 917040440 540360314 614856164 592619110 256717870 127062225 121651456 496035485 207463657 520146414 614296545 324713473 274175292 173323611 220339833 167094744 933044439 104777476 268565519 942005336 350338249 960575240 743458725 600790554 398991140 511807040 681832211 902430878 661196830 784814666 326537960 873043657 243476173 196812871 762843714 979254365 640397047 878780531 993828729 610389561 647678426 400805413 208506213 206647249 748844697 641482167 786292067 402373095 417734773 643592743 597135449 595911246 650148556 317214291 365061885 458191411 737126405 754759175 875612269 301778449 310034742 937180625 429740902 855488939 413592215 599075320 214238751 732712104 689590691 978634523 993240065 113933159 405997696 786993130 525175432 956812269 160785908 973732858 632461044 728487184 780442573 975647349 962446421 683587162 352409915 874119404 944842968 897453770 443052123 132133225 243207449 438890655 706304675 823160545 762547404 359359958 381259623 564132515 410918637 520820091 540986438 682759105 494835477 487142475 914106471 709339583 124784658 842716664 426848613 199698241 381610966 302207139 269893299 677214292 397529146 643464020 845126971 811766421 805797894 885737800 124559934 204245198 885746920 601107941 328583509 148723929 911393434 227696320 890510625 789784138 154828820 495511145 496379402 285246269 455017439 100128848 379169567 659939140 968113825 431751754 795509879 835130277 418415958 713017657 721080086 287605998 376475294 478952053 681806543 753138005 699547683 558852752 476737244 686278585 215356689 899205017 638131271 461682265 686304412 851680249 899968804 243900698 197153055 911325609 370876374 335401268 634999934 291992675 986150207 866528485 534525814 853457027 605235911 263957615 228108878 723782267 637920455 610509334 111784496 260055996 417430443 815118437 892203075 281695317 130141299 703690897 715718357 701894611 100933594 453951941 182164757 997041197 644240025 261286950 525258323 699498055 940947638 251642988 300879852 690663426 542266161 680856655 912484279 314032706 440341177 852206054 167380125 352969366 292266629 291234668 943799182 726567711 745728365 227189516 242793307 142212602 238284259 663175493 262922817 908521958 354841551 771756774 745898767 934919311 574166984 948861757 689848523 630551579 520172392 234453640 826515809 847685407 757176650 443246478 497634228 434167420 962984064 291685518 682546205 786699629 598497681 152176784 870625511 933396380 295992096 425087880 852798711 152551048 425081033 595625011 777166151 625032787 902997251 885693822 703514773 167067486 335695942 342564601 941133418 850877353 296875752 189618323 624145195 805729841 682755187 957723220 213964987 406943795 707009471 561959410 632776480 843496225 184988607 682784383 622021191 666957902 806779934 848544350 951092086 374041390 451377797 655809549 928477779 628126917 551503647 248231141 698292336 404386892 551218670 662557767 595140930 936366564 916431411 588846775 853498256 809320154 890998281 376778913 390934225 155869012 422764407 849971110 707436011 168479591 139986140 270437172 124617438 800642559 586299373 757826589 498903164 478812136 834481767 925006371 856596070 669521141 195439751 146297790 772083125 929735667 796859789 225941540 438487275 859635112 375460982 753477492 183060293 714606577 193218553 245479030 592418138 705500846 350782323 917118097 945105320 450921912 298624833 959770232 635473056 400690101 140368248 262123603 686826250 835992751 731367232 869590690 782554939 275780670 362012040 953022643 885645469 828792383 164092146 948076491 469453653 392879571 705339233 462771554 884813849 519119199 648221755 459439247 462436671 323653858 144843841 172336884 534999381 559052959 686048351 436255873 921291458 762629650 880469494 525197257 401756572 485770247 698539065 469654642 794056722 801806040 377918730 862848578 422453758 520290812 731964021 308003443 285380064 264210747 954371780 315108221 663303800 616110713 438062233 104348302 435452761 384238217 251519531 632941876 672042072 590188505 472327952 512692397 304318359 767653417 272292004 856160125 398706957 812772429 863970769 348128053 614796257 717844623 311774951 925418657 863666557 322938072 696517390 785066781 723714572 346237234 321278003 848721855 959341898 955231956 341340395 802676784 279819371 847449367 598351080 126426653 802476477 541590855 746506259 592206226 932695941 663525262 943336501 907816105 800318111 568173375 812158969 947069476 362292531 985486049 324799506 128838699 269050653 514742574 217502188 193689275 671117341 127048204 269942687 959083042 113574588 691914006 145012852 981494880 686368506 553251985 721819789 371084266 144436606 787761655 818434141 328751392 198442476 156632264 145451461 235241171 300450936 461727625 502979854 294393593 119590441 582657198 421304613 200513198 752774891 402210368 979515360 457978861 195170715 694213152 606713411 265001947 383706293 736453780 365738783 191639945 748289758 796886351 105926898 973502044 383158560 253957440 157612953 152604521 482570894 283653588 512838126 196025349 451675178 386530682 738891030 344484414 569031971 171830397 228952172 766446908 353819921 175842934 155392630 508143159 160516818 396425499 374572459 298468220 711198568 655624573 813264352 232141225 414041482 617347027 575659350 219696193 517164676 187723511 448811822 850169428 281653924 507819041 502831574 101542562 900260548 888644173 870269221 781775650 318214673 332428805 769346909 917954865 960242382 364961639 296063914 195008520 315201193 548835732 169215984 435453317 994302077 741964551 473364127 972518774 144343985 376719371 553799592 255507641 135622052 134687671 836768325 132111447 228882184 651796163 476037419 579585961 391518006 814265380 986573107 324510926 365959954 479810581 425849545 361624798 993158249 322675545 489638609 120183610 719154012 748574901 562695937 474581925 936526280 648714897 188324485 851972576 652747087 451035910 631129155 400245145 489340845 219433277 994625703 644982312 641962716 792468889 401058196 293817503 609796174 603789710 119026007 865553979 392970538 992192679 467351032 455481490 930979584 142722389 855944310 846648812 593026560 474229323 205504169 465179778 909633414 808332317 732474634 996244491 621535919 293688996 564702684 405747738 133630054 802265224 872463693 611014954 251111139 965108287 567580827 823125430 836904215 339429120 107718235 828476802 976269103 328531945 746254545 891046803 509321741 988627703 294344133 349499531 405961886 287468519 754144008 128961253 412899838 402351379 136861322 390119304 638745677 662341862 998827496 806459369 953552556 893832047 904894349 556847360 729573875 230609989 274802325 762046069 167770418 565164359 746929136 483134239 849587431 132940390 533140857 324121927 501425632 868660102 407368615 470726918 354976942 406153811 457290498 113689630 344695530 686409627 977222972 183395531 852849188 915292057 208327212 797142277 829289406 331296507 128947720 228880069 825827278 613413997 269331402 661339548 671520124 877002749 685978502 916922318 888434521 311855735 869383898 838994764 471944827 303772182 678379884 899808026 648903079 380730653 750788054 820623632 338061785 971001058 588150077 835468408 428422596 444562896 671427802 999152820 243542228 930841689 665777905 783595087 508471754 408654374 953817068 952095241 582696984 613936735 479132432 109642277 627746896 654003691 985515444 298626781 610072593 652954955 200208835 949765050 396730535 482884251 543461293 242353315 461383899 985283007 767781474 222880078 952739416 542851744 476966522 738980585 174815583 215515338 744307666 724668232 562376207 573582118 863909344 590990783 648445318 670233858 942362922 877594510 343503394 887365614 436464349 589455790 632553018 360975840 948989160 847848348 113957963 144325250 694260047 962705393 124498852 430665236 260521312 662192371 389856816 861757578 727546273 556786730 452491410 364183155 260802792 532823490 389380842 209102423 937030466 729664470 923561535 157678951 943487959 254301027 271999493 429409101 940778321 719254862 362174484 551258668 280597409 525590735 438854981 209767500 319026753 884064813 623936136 998496713 350090510 180684003 974866073 671041533 687831934 964363368 345428091 613383865 896004123 913737016 730430886 765569437 669177326 487892333 842113788 771843504 995362638 824883375 271159717 404897037 628306239 167793541 688518271 932434780 206388384 688533937 567528046 198222258 576504327 921144302 954883866 753124712 813250032 153218409 175666583 706716992 982223118 830786555 407795206 785425441 554122168 412067120 256940200 591372756 584795744 798622717 271782840 179840799 518200683 951353251 372108558 865473047 617403411 997040375 374370088 400185379 817652754 191911003 936057112 343532855 472825364 212382098 710210016 186811410 407370742 931853564 582632500 957097691 373795654 813310778 240885027 714577992 917952613 344986381 920466233 196846498 623152419 202010422 914198075 144709589 775682261 634531646 698220360 416809726 140903668 132846093 788550623 236858575 140296390 715056064 290064232 947981168 190536191 238148800 226653923 517065395 882692458 367162781 245151146 165521371 242669227 132130797 277729050 202334384 838270091 463883695 265030191 449774194 193360979 623025222 229010043 812066173 748964933 803284775 952268599 497106702 982990893 590693166 779753134 519070663 451610258 797551303 239308994 228581223 117845356 309636583 383398621 729214641 809806072 860353061 346540920 586927870 542340857 378390779 742154972 749461562 361402451 890650904 164348892 575352542 547235208 421294693 804379625 299985336 407671032 747350033 411514787 283282299 624575712 922077964 810199721 789405113 646217719 176030075 602442971 413701858 320763351 734361279 228857748 232650624 920628955 925296452 615076772 785200656 235889503 690148703 231125020 522429643 141133060 736269168 499652206 494335653 244829393 107494500 284181929 675514954 176488224 709326442 580355026 113662913 406954586 742161663 715860696 461735657 793455493 446689983 229884381 902978554 188552293 326008148 699827608 797542872 611449772 191424369 514732462 726498409 613150940 359559761 234634343 396354397 118979835 680211270 194636715 518692334 151252543 433103498 919090852 824874995 206228943 996167214 444698338 907371449 512343409 437093308 375411873 445630054 577431190 565664467 549298777 639875610 974466842 337360027 284705593 990602833 252083611 955244658 296916604 736362326 527271770 806185748 287404186 101644900 407004354 166142637 375807352 800641476 618509424 588941370 136045490 143867683 320228057 630836467 271110169 160273751 900893150 927992739 829743378 658984073 130343791 967721407 662107597 822750800 333516144 652667292 589560645 619109337 564578984 191821421 780423269 205768132 499917516 361669938 189229169 289831360 895255295 178945964 666720487 272123809 531161956 901957294 443968275 144884859 454380324 706064315 696114903 445339283 658649518 580274499 193179452 233120144 533005743 725547322 306821498 337882106 537969151 116745849 310591371 505454228 572607191 754340984 920921179 873092166 428356615 932155335 614308463 336398299 290386226 838144041 655359135 173634403 145907736 240280187 548597816 752422911 297779122 576714141 422961675 403582274 519398418 500204705 732653541 623043666 306277750 684746650 291603600 169806141 387575332 580850170 776612351 555981969 966650588 376252532 454472797 385173779 553438703 452413891 646064439 561667398 284317277 356694895 199544524 730924239 164405826 303871596 996190507 905783652 616830048 631390327 598960116 104133296 821587972 448431937 813053991 348596340 908935850 100240598 933165503 547065325 538688218 237907049 495146145 704513300 639020055 793342599 721756571 525024694 238760546 227308200 511986798 191744990 646732829 639474769 802098526 131127922 652275547 498930797 165468029 404190113 561763754 835105187 394393523 241693025 368955734 962533377 741519574 607090161 524422893 413528945 351723882 478158740 180737059 666487284 787122388 631583984 699819246 674968891 650645136 506640468 119716047 793231623 805631286 720115470 308115067 355968828 643042787 243656581 967730959 227345128 357062222 935476692 103192650 552515833 319013204 793948789 315269290 588021506 162762874 564760404 901731804 825520407 419235698 412836332 726191762 947433128 434549181 974219411 589553032 720145496 219209328 213878328 393830663 355362985 854890905 902337849 126252416 645787695 589541225 755991850 194574710 108866646 190145894 386325375 521147932 668880879 983475839 254706180 794030986 186518355 917360871 547744259 804550418 944324422 430294313 201212456 517679688 309409351 362507412 156064480 870931775 170125788 139875779 879444289 690014306 758822730 314048300 400917014 344835778 345991719 303761349 843049111 535531503 699932982 313909889 907387414 674210212 196198334 541827094 894337465 757475251 150838348 459110519 960698208 168068593 637124957 707725343 150476257 888857409 739672270 865488763 161103520 593907208 994871103 712338079 786164325 710048569 763057930 504605230 110268606 565027099 957448914 904767856 154124303 201848919 769347060 505396457 997530274 839322531 982195529 945251249 803050673 223649648 964414854 118002642 724972396 117101073 640841972 897543253 631677281 192484067 596670034 725821541 539729694 239804644 476540451 854211305 518430272 178811862 553332170 677066636 348885501 275383895 802804363 858486674 133409969 877914534 120229308 321310043 904637163 540210431 742778241 258466050 309075480 914685966 368611479 814922486 255064985 183359155 617835379 750486732 500381169 130271147 913877587 502025212 296459977 434308260 583516104 481484417 302629606 902865618 781837824 648638770 245897743 468372792 386979727 605894138 642243087 507403421 629642692 696953731 945908675 614359357 464463390 465101477 812969956 849624535 611356972 886917475 672736047 350316491 249090690 956133896 287531419 537141365 691063564 868569626 165359423 815376439 541549691 631010727 116328813 863695606 409731589 829434902 773572771 534616193 552864463 445670127 959041388 952458299 231386312 797690630 476088371 427439671 779090689 357728493 473331995 338494010 347030445 601548365 567161225 937529991 985716003 348874967 311619051 554516078 647726102 391409613 773695660 458947497 401552516 454157058 165932989 165030168 961864991 381030511 304405322 399231886 617378012 134047713 703928868 126333969 826527260 817852884 370157785 258136694 672014272 325385164 156553595 236353918 419122683 285709812 516832859 690872056 795209245 345857629 139697515 547901780 173272346 380187314 906194670 214281096 843692432 593174110 951677895 336972677 240480392 653560140 943645092 211351772 384898504 248860000 233190517 255331973 581741234 833405620 734201359 983105707 956088116 255250224 476789016 892429458 355914388 546117299 400866462 325342629 311375765 380124101 488661220 458844118 537814904 543187046 944634815 927008940 392479379 834135060 471655653 854603413 431892612 503185192 473189874 494079704 295768041 216132699 739083680 729996487 474347120 435358679 177309792 413753089 372070443 767087589 815540238 944066320 176022829 841143889 609633865 850225617 473284691 150201301 959572368 456640283 243553912 383352110 213451679 865513834 604938410 838737783 886779378 602199757 711322068 396993677 476702826 459999480 635414936 299366573 385856498 874836192 399510468 832730226 871192677 789732221 770396371 295892151 318132611 998062591 889462207 944367964 898332213 258021040 548022113 348931448 965627550 935238004 911136180 989671185 537606194 778106279 279936289 940259635 944590306 901554084 881674006 671178576 247927247 608328416 827050300 723752332 946689604 658809612 436611463 845347404 723661239 619554768 760806333 585623732 517983618 315284386 107496771 956322251 879065667 910819691 148314050 471221158 359173683 337828166 627107610 288250144 636238376 491862305 140496081 211037531 683381020 463750856 792743542 966582729 399879991 783541028 143544798 178273005 921861910 319303718 751864590 164547428 686711327 500874139 496396913 757580480 137385005 613331149 644804252 317265581 803408099 502869175 341760908 746757066 762329639 458803953 934201992 881747357 652994227 180691206 667561057 745602795 533117241 879501037 823011075 749647387 650657732 352741161 524086228 893798740 910671360 307920278 615363089 331229517 554443459 411074469 847309760 418405215 737284485 793036971 132881793 192565814 486681893 451255047 488563836 717908068 106445264 171008489 909438559 704652483 968707242 841664857 332708435 947942665 652511814 863608282 642284971 130481294 848177386 580110034 261718452 535849982 558217581 682257361 421551263 721370120 980385513 573297337 499531134 838973144 115789672 107386827 660569688 931968531 730056074 226269754 451961750 737938223 885231541 561066208 142721351 298122281 316178284 395282544 633016353 146455416 575312935 915035043 762851835 667608043 938883409 964420967 107932709 183894836 604814107 497815792 167209822 596156796 513019411 112528025 113832098 140266520 436993235 453892005 925762759 267046224 882054925 522689164 277045084 501990587 331726755 577963883 659926381 606247316 626606161 218362644 497887826 979211023 203563662 472958703 856375926 385586262 376663855 996433067 740801947 893467109 692159972 650179803 837325974 298394581 793421868 557676927 280376759 112972913 970187386 454020648 825634440 361127817 341628346 778973025 223225004 267808640 157154259 244321529 544140335 697007865 267252849 527629940 906441916 749616834 924796960 656357447 537623362 112330915 912037906 185891657 731688142 415420550 320062827 101426214 295898698 808775644 643773193 434895613 692411177 635933812 549711008 233130083 997457017 648212076 743720946 136852059 832255511 430534601 753877910 253820617 596731233 965951020 683190761 118842553 346665621 315607879 939044266 883213414 738722182 548684589 271978750 900370517 456670168 929707388 510348015 899419732 400902025 432669125 520906209 756040012 599669049 492988370 998617139 835952048 380907642 518198143 198397092 435714286 285139960 437572417 966734267 245245158 135701773 245878611 986497615 196499377 795575238 963065703 498915883 386459551 937077866 888639813 867053244 572490863 785382800 801862380 700811502 105424688 954002916 238914985 923366506 655800958 905744267 457395615 430405775 432514292 975566098 826705772 800370986 762952416 799523701 401369556 796436930 315456943 590885881 120240339 185283257 303250987 630696189 184217006 812172251 941346827 493955537 279670659 654844612 831353215 477795340 259043865 228533545 342394035 380223518 619826285 381392875 580616264 838174117 538048717 992095958 421980994 354795082 803191210 235657265 144797362 890153398 229450183 597274841 656206814 426739371 208384380 181370568 667459713 999432731 314997805 157743847 977461439 711488674 300692542 766496714 284243425 504726781 906184089 109459743 106756726 621473531 813405000 983005334 302494457 146538069 596094296 133761476 876934672 317756367 740985998 967040605 918797329 910460983 583693892 583171643 351186048 746399349 839791911 359365376 984938492 844820183 509522430 474406894 153010427 425141211 214606591 661273886 248413940 884958163 950877441 877523387 475996144 945305640 385753334 919794246 419893629 347726836 315584009 841886939 471277074 191324316 220161577 104671635 395181298 577721958 624264442 437073414 210182608 640464149 995136411 876649636 842450461 835359203 582929279 603868167 244429853 958338558 116789428 368175895 667292568 718190831 163722094 503761936 707617549 131037489 939770799 595155700 957272768 563676086 197208500 683767362 822931708 550326392 302950200 854306730 160736930 753797950 699156809 883258969 727350758 801943875 968174574 241183367 130092958 167183862 335450674 167097086 473652526 497930221 234233973 965311930 984903081 483377024 165601595 656019115 246377109 282813601 891330259 523162241 386927169 419240785 946801632 139284850 926804866 109319198 647746679 791833563 592501989 643928914 178464767 657945823 527334084 747499105 905979884 932896643 397747882 605862691 759203929 461667258 883066947 904252677 791038708 967258824 842292559 415492617 930665862 495176028 903467913 586634155 938816408 930662471 449773672 808645265 745013958 413111085 741302630 253343300 671955358 672729127 960439680 316634285 532283130 800251429 992989461 733117677 364598260 266742799 236066880 347856202 119621852 455464882 905424384 691974105 881559206 468380357 350050631 731309437 109667452 313098399 628447976 592018093 128510161 637124006 900869715 586423490 111002814 247932557 455318307 378923284 153171928 810415449 590830426 419182708 263772774 598738661 771176343 264561736 887364606 840456531 615822732 328668360 185129163 334905766 156550978 756834775 237476795 977857546 797080422 737666310 621674593 522731922 987700026 273715214 915164788 232295774 541089708 262485991 350450428 552898876 229105653 999210145 787025126 964483698 712662194 790881084 544101562 821535656 925240011 877366666 807754187 818186826 846108680 622609551 387239608 521429594 382092121 288688882 779239862 980483755 225495484 542115822 680161965 674716096 228195447 116024305 292887565 385144159 288533870 614393530 334324700 631973564 923659663 413697695 868200278 815873925 743907616 535904940 650514641 712482154 405599333 798064119 643246198 477429331 813240920 893964241 278150431 963154582 840087078 665294171 111050561 870869254 688614764 492494684 958734455 189320645 113691547 578058041 379776394 944777477 802893705 491386372 761646045 791425803 350829481 261413852 481231769 596984866 928674625 603314754 563668717 279785109 970032907 567995421 434606664 930265939 397870538 267760246 356713594 634749095 861708431 711850700 646693702 634816065 335099222 625653457 479988140 862966505 793178808 849344760 382129059 457868145 915773432 938624739 797160776 278695535 808557638 269303650 477596947 585881442 893914071 428388013 938653128 936356343 869337515 100981802 703697321 680811458 832536934 219618676 972948653 774353257 236114896 570353158 628207093 951325416 734472361 338370865 911879181 484714702 609160088 589104099 680604363 765370185 932546952 821376344 598053257 441038030 288353596 426377086 456892061 817753629 622724530 511532469 132969259 638445838 125828072 492488561 141605697 567687104 762549609 665927804 897030155 879243573 798731991 497911404 231130697 311579224 149988863 460897668 897295359 413694171 548245242 666024413 190601236 887744282 862329879 791142530 781466143 887973130 356653093 498343076 308625150 429523106 695512902 237962844 521742932 562455544 201143442 366404146 834256902 915708226 506618080 169616856 688122664 790803440 335509449 631097502 112270175 451592705 765635026 713975402 616675920 284699486 961075123 133493599 253003695 882516677 918257111 175719913 429502304 405039704 197592712 420408233 996845300 320526147 675265996 223563818 138047423 429954443 885161194 405914560 361434842 421795440 608870803 142673496 871953681 658788960 973480089 796233036 367650798 766512543 912976784 845849239 194320924 389548313 346665261 540005989 694632007 578351430 181957587 792998585 338193622 516594303 707466496 909533139 963253246 604907490 199586601 221846298 374220287 495383492 623946016 384780043 518087536 613174973 262255277 354295300 525849855 868938800 275777527 329168002 747707063 956843095 786892160 187385372 742836473 268684091 195914028 988846156 980582702 383762115 551503926 686767023 866594738 234866626 914714657 104903183 826103037 496264214 465893014 423268839 217879905 446633383 487331089 529985116 899075932 132563557 472523746 796554258 168753007 954912069 746844286 579010893 425750913 516378466 347183702 901150147 993028218 285599413 932984990 419025788 359931027 732075224 745045784 676188141 684648774 777768569 435221588 860879733 827127120 552351881 206400753 223456768 557171945 633836882 695663932 183660416 341713120 778139292 942951020 654187934 763732153 265056779 624417650 633289694 797614331 203664318 874644653 827565088 948860892 244749942 473885756 780891352 412688844 390491267 107672095 186122613 946718400 695064347 814713607 501743361 439777181 527531306 650114771 472501296 198134974 997110981 875421002 362978218 750846886 705404068 209226991 203214749 132337343 156495091 560677291 660463735 500893546 491901834 812206819 190171552 222411963 871037935 718626327 389519729 779206393 437998943 180918544 802086515 656827869 280420593 128347761 380142297 533525550 878316092 288471986 692402659 812209442 203036967 659964272 333342246 312405219 123761400 932660488 528397197 340910493 801427196 277001320 749833421 557230976 700497258 965198062 691808076 948819408 458371304 911000495 431347861 574933093 730244929 738722982 666448750 937987103 663450592 535830018 341551674 366658519 936399134 527617477 954708752 690833105 868572432 595931809 126818969 751330150 298306801 521553050 595491019 311009585 990555749 450595506 814893476 122204577 394189885 790960515 621454412 199203162 254906081 614443497 170273162 552393241 598027776 204981796 686470303 879957917 507392486 549605260 788203567 119178930 611822464 900643440 173099499 505670451 957619066 694770331 471889767 503659028 840646662 293380805 834959369 236741471 334706450 965319689 641728694 193483896 250656286 672697351 157342947 433219547 219015873 518310371 234124887 103226368 499724600 949969896 965425852 924501953 428694729 766391322 302736201 763467814 353660150 155066910 443042014 300914260 589764482 286797848 955696703 854354963 275432235 286829066 273234077 220421675 120580410 105727391 295498545 743243609 501900817 457561353 508305468 918916785 270408430 764132744 727753486 779352889 169385831 783082935 398576746 682501764 245847113 462433891 223015128 429760910 772116418 908084916 556883481 589093389 234194989 216927533 820843918 583021990 589669670 175226501 849281097 501452522 427500292 117131923 851456601 395397081 678176196 926294691 936289176 981459270 695695956 915842499 798168573 582670844 367682001 922946060 798910517 887809938 236196028 934379724 818209860 603974703 288416894 539533790 476080253 894150315 900584769 962675673 837736259 804013710 623691293 928879394 699364831 170749031 861829281 978788928 409821672 992413151 884675037 560688030 387987439 395818700 834812696 902329257 696475470 230412860 737686229 330390370 777988295 632222822 835551473 230586233 176235998 774155171 129742341 339733933 648945767 139938016 104292297 864011433 283151197 203662430 413476717 646358454 181400802 582141236 509018246 753071338 351710874 393129414 102811075 424111446 665027873 794034113 254011309 650057392 866275362 140159593 982187113 479010562 439864049 496821126 179455292 272590108 427226593 297658675 575988542 918372982 406563274 995952544 537944415 719233126 183861098 237748444 609919017 322691512 415905502 664422398 518002401 954345448 312923371 655492855 706822966 651482050 469974976 280788367 390017940 189568829 392405072 183606737 361356898 119917026 561205772 907900215 619887166 456946880 668580911 101580108 699367679 937978674 620069196 287584749 150528312 917195667 784036660 950876538 858752477 416228691 775846334 499900045 830363115 734300055 273899840 416897324 110421949 548723183 762146326 928225084 239329274 124154748 613774529 776583740 654140522 468916147 883635326 225671347 321166412 458148092 500779403 215708383 755260037 852272039 465920717 796863258 558511036 716886141 594628124 291421071 391523875 677775986 689984817 511208584 767102247 266646883 169660392 429628940 462439089 647153676 824571770 513656810 102340172 820434528 523259350 162290841 670672506 750782167 902013689 882339334 928609074 311056275 168356332 882293773 354012483 276870072 921960899 845164969 447439998 242798291 378998191 792120720 525678504 338317510 640513750 837105822 239153033 239383794 123479030 516389425 317910247 143558120 297301103 858950102 957193205 156170376 652243417 515689677 462513187 775923173 439304991 400650626 125647956 927717678 576686964 184796412 454921521 410163117 275325632 313784082 438494333 575022398 753877505 945864951 634198057 830838169 173711326 714701764 702755608 784539683 668089539 172091934 279466592 332167098 503275870 756965720 603457392 626670646 115456441 847220549 905972425 533123316 667058862 837452574 745129070 832601504 213655088 980062672 339933131 645104935 390967528 487062544 991188474 513974612 844729250 418109034 994533834 972187476 275169263 331571486 869241651 760721669 110005088 439066335 542430307 912530344 559604841 920659725 792584720 318593727 297894220 725045676 454608354 509224985 332602403 136267916 653596058 556904133 365237652 237964795 426653591 294019727 640519422 336527553 342481771 442568783 735551828 481151668 511326235 828339871 991238567 340557876 333245518 785138185 456483071 744954349 260642407 824950302 857216224 858370856 684785648 746996500 516278852 690832730 291905949 417548880 557390856 256958472 838526159 374514581 520450136 779336216 112157836 211183857 349861710 959815017 385421599 192148348 530478726 381605006 267715653 107903340 855033646 773901024 453018876 370879222 560916425 924788603 447367136 521601797 236554771 118615161 540327017 638377934 326514094 876516487 288082244 381898332 356888666 979075614 873210042 408761827 760664577 868415459 929061100 560272226 872177163 504243009 336869832 108865141 224061421 205694262 733690072 835067480 795534463 530876562 304631095 766250323 136978533 606559829 126747891 604243782 752862112 561543222 318670082 850351214 828583229 564273675 616710221 130476646 437340766 550452228 797053696 859517412 278450512 956163566 919174116 251311887 968092200 512768784 434098080 336710260 658662268 221492140 633220313 629637996 875934260 486166128 619644525 150965423 390019493 186422148 435537342 747290117 825884581 290914842 485592782 830250028 327884312 458716482 207594382 605880696 155565907 366592207 412655363 486957925 876609024 152128272 972098955 280210363 429507681 157278248 425300031 302122353 559436384 595415869 375215650 103147463 627179019 466604554 301708256 803398915 818867405 851068629 132290837 478914330 793186773 273228344 377924529 887505470 503275062 773233502 877012865 110171075 531274958 360349808 708270469 406569992 142445531 890269948 350835334 618037195 727166243 181788458 749509170 153525975 141746849 138346654 833379501 919961557 538266294 321566848 485566781 957243048 899552576 216881869 289757342 529356008 768722237 868969019 977296255 114645677 902157170 367680514 598822493 988499587 632377182 309936001 636337103 700453985 524672155 908236165 335059758 695497237 587187867 976447659 886876881 664268839 104260907 625580031 364345101 375160324 659516356 512912159 209085608 702885879 382802338 820910758 603346606 181380408 920207506 970666701 445028348 190694714 475947252 965366581 543563745 486999337 973779803 242969717 596405512 840945871 324779482 899192583 719190600 936026690 764249647 683507964 764479942 819355909 985589180 998753999 473258797 433512736 701833380 352796817 162920745 185532918 415371894 863152405 555978877 491043616 163747475 858581530 684989558 167669482 589909890 587192011 783314877 815455660 624825966 117419304 676056944 493434901 761495830 906545045 349431975 712348332 795612838 791905124 817112940 337414424 689202139 656805682 113264785 386877724 130637406 548673320 460642952 905005677 751911028 283533834 495530092 862212646 338454917 582575998 733217986 796863952 860529936 174116061 349026354 351316313 560322749 305772843 156718483 718652065 851744197 518886133 818008679 695868235 198739937 490903268 167483329 480313344 913281768 887269994 791422136 195080089 579497414 366294351 658560368 944885287 743721013 944150824 505916855 206866026 887180290 455407366 732746761 190908766 381269404 568590128 834172424 442696136 245946931 870597493 845242717 681723040 292101008 249968544 841297449 797307146 376097713 163848948 832370285 270445057 817900545 514220114 832511673 914218356 918450856 981645837 813776501 161896240 644386062 842681103 374825612 285111175 628376736 600850643 206126060 199279491 997923262 744713181 444397816 381742097 631912354 227852738 110367712 863319514 145988334 797973794 780749971 643638431 994921638 650778233 906327939 905028139 203720293 487403113 939209734 324021939 642822582 734711264 563401785 963797701 285011496 185660851 306261857 922845636 882949999 514040231 859064630 696345490 617698796 578873305 507305081 495671175 841829017 273126229 655384080 302838022 987149158 789807735 577685991 371047395 429625562 289842807 807701641 988836589 910569982 861102924 850136106 132896820 807894806 636038308 607747680 271325506 258521799 903898748 887176243 693238670 865151183 132101431 350474623 355675610 917899007 120990532 349642525 880123651 262540274 882553669 303442135 420819249 458123241 966358531 757915637 265814537 451282173 239206510 716687420 321060850 276739966 733675112 813923350 268052904 560265894 230917967 247275705 385192340 639090105 383489936 750313437 281310901 206672155 945268062 464015515 316054872 533668584 588742534 732703984 858103373 907746339 136399621 734917942 135760764 304482698 555508528 279252971 189050514 766901310 477384042 735997474 412490030 664724185 639606610 413138845 733254456 959423050 180061404 553824765 687565169 926102516 483508282 917630918 127809260 643708161 230660984 700270628 576270388 134202855 934977297 923658320 642801067 566000415 287780310 438217751 470989304 658820812 159670423 990117699 879219089 856582485 982498144 380870734 851416357 201863470 941001599 496191086 631144571 892378963 913264785 396292210 142814473 815538699 334922720 681798762 412016095 522025450 623493459 667596150 370467228 655339251 979545468 756938466 936768842 284113632 565287856 942560223 578883899 691288285 545853485 764605624 829200028 427165097 847367029 945973630 221266295 220082800 603717386 723283919 270219630 344091682 147692754 977358429 808231382 766444725 175665825 716945014 599077447 862690499 766773518 499910102 417191080 670428763 475510467 244729530 375815221 315877420 673910179 353987515 688835551 317265697 974708571 838958667 543822445 726495599 129291547 559355957 547854066 953518419 113287597 631273605 356508619 927648284 303559801 855714597 374411828 865280103 681747272 816440490 435632088 148209367 540623632 697142206 561793337 707757230 240631434 819330069 492501797 991196035 127125260 671469987 630267806 419183416 979326377 266838217 717376594 469913315 732191851 506712295 465859952 358429035 568910700 835054916 223056111 155787803 586735884 771519291 452612008 197872216 703524953 849010577 911511689 967677187 610403695 271739204 953391823 645854108 415786117 373908496 817398905 964360041 643891401 607092929 498072238 733237486 914817559 696882551 508146695 155343332 463006651 668238901 385488416 102758374 547744057 545122968 206852856 585456806 390532221 951150428 988444470 491254844 815746725 217753946 397156056 414884295 648719788 651884922 178313528 369695522 527098959 641295886 998767802 126616486 295911663 183510328 518645207 178243094 665450498 703919695 755834999 227012133 414179286 530174678 641470598 299941941 547040837 584883168 193444320 741283421 390650530 608700892 994600002 833294659 198012835 703533908 696827269 478133364 539732688 103945101 508859929 955121895 673834010 712233861 442221279 567639156 232542193 613044211 372307157 710530201 109678945 414196914 258472293 136561099 659215586 202253470 309744744 122906885 137176091 795393111 465566386 231416549 610914131 742943250 558685295 156792265 787572183 773221140 931768193 544104476 581762027 952409615 273081759 439412889 976527951 137851028 258323894 805098225 657427194 215718127 940311610 106676894 404072476 970342637 178573993 182801153 519722406 715626806 188611186 750698695 978171230 795688713 300458661 302021892 292704243 874880070 102310935 521878888 321801268 243942115 458913884 153169518 329201446 361205275 910954715 586300441 316834111 343981243 906836411 402415523 930621382 402940311 718401599 354082873 550245485 904268003 256105337 787996454 504680491 502432205 468915831 116130636 770441907 339477218 944866279 489974127 854832651 695484603 840880162 314112472 687447645 753814679 505202914 519181117 123839110 713348941 778280121 880981010 398475428 236394550 466070874 333912557 305689522 694434105 777337399 201505702 229563623 761418228 390576996 596010690 588374138 322709618 777221658 605214710 473223852 296419890 963927478 391625335 828475277 709010055 458600716 629529391 258525056 510272622 625447385 556070678 613089216 328315024 287313623 554418044 851410612 467443384 205053113 643276336 525172169 246112422 984617020 876798690 669723397 554269549 666453370 603745283 676030168 881953210 977767857 832252818 675102198 896758743 311070639 880295658 239930197 730053779 210813464 593320276 421119572 671592910 215310854 939523007 734017277 616076152 454103496 431857301 158284373 611823500 233850054 189779107 649620623 156493869 403785705 233517495 274775291 480821646 689504928 540257924 355381489 653820812 595859888 353262789 474453826 441315595 605618219 968806449 519561947 334177441 450256542 599138460 954677749 906587725 382375118 664973158 138228356 900329108 675550853 792008874 916331072 589405686 192831189 627601263 340619572 131430186 130428830 746248987 650992807 355962905 516046658 476069083 727803340 516237157 242337147 787189649 182927465 613544862 572138125 509118291 507068052 919293370 917749178 665382441 118452449 447737304 496347952 791428415 970787590 361644355 607769935 109327240 372787295 468537930 127333714 671078838 142526831 655221347 657454992 969561456 521448059 678810026 162225502 607385313 296685200 883819346 374946490 114959744 984552647 320931420 912466563 309597206 816232023 968727816 339739479 938826479 375807196 285761549 394156290 448312328 459053725 517675788 168284432 707434349 649565691 329587686 931280221 539523686 694212321 631382011 821503730 253913196 670432259 516024386 918886912 428929618 593983221 321471557 508061178 176731037 355520485 153961791 786667761 178744488 117681371 591650741 118638855 516400329 524476470 299967004 196127570 395964210 280808000 663233774 892355575 559137147 191011160 980587654 725673980 655798585 155742791 488581326 111244798 165820957 884397414 632675511 629840305 894525739 730509170 579188205 610109092 914662211 297303368 888363409 464853915 282796639 331181829 117161060 453577128 246164818 456924742 280260193 775028225 221215197 242196539 553571387 285954436 743680820 937521368 385199687 256473364 336503849 598410576 261698481 429332909 481259999 548704743 465940905 841228355 421704160 484177406 288172838 169477192 273294314 405282917 215736281 891045946 555805639 340969301 990525119 612185505 755604184 278163678 280379959 363659500 820019431 891602495 474304298 161133466 834422710 486400210 485671467 667705025 789349877 482947962 799763351 196400531 343161849 115730775 689995928 198820212 269385376 305725690 987854071 217175342 160970808 939853164 355552899 321519328 599778741 967087521 429655280 631947090 192935373 798308274 758561734 434033437 557729101 448741265 565407580 266867102 421959651 212396719 778472478 441124508 581311565 461622209 834192126 529313308 552337185 176380164 792468144 886489649 457933429 525890432 476737533 673712996 452874226 165578487 435390757 785112037 913409671 838080653 240753016 423001835 274428162 991481450 143490311 361154204 584299563 370483734 966321448 306293325 199047387 466165183 556278447 140712571 730519260 722324025 418503595 887425386 525799315 400273722 971524299 187830428 141833888 124374010 876552126 898129121 397014373 645182142 620685408 764209740 330201910 877079678 658486808 231890409 407063510 859277004 274237898 763035472 981367612 307869555 475204455 338837915 378345787 647508814 547929467 629450446 525987441 961946232 167883049 256216935 342043278 679819498 604914276 728564095 813446712 121894465 973862280 593404661 140571795 727174552 748565540 713589508 794495120 651232803 106203373 540052669 251400698 395145805 732090985 811776983 280587947 973033455 429340263 901662989 121152743 337965759 519327041 489755680 735806363 878942600 943843546 585063460 584897945 324558052 493178179 692412072 616394787 655665429 363634479 319814609 787415622 732808277 474184057 157705692 488697277 592294580 341964009 490441208 618246421 364059940 149089581 646417524 594787604 468023107 523303433 673907273 242706286 961609682 877714354 223257915 336487253 649837861 899648238 139851335 981494217 153005090 641133390 347956428 968721391 312255866 951690921 223225818 685288435 759630159 446438847 581992412 140333083 118891920 850853431 284817278 917526861 864243884 629816113 864706394 490182308 556309269 568786474 324401248 688590546 528150070 670295123 497922793 799543227 320583981 676938422 809725139 378691060 594307636 374715547 303293752 575453008 720069492 590588300 623634928 645340629 809146849 357058375 284406157 511768943 482348813 367431958 768101807 629443833 459166576 707130389 644819231 720285420 970647087 535274154 781389026 478819637 168120383 493895977 454063008 816904844 845463537 199204764 165561624 266671814 557201310 290645334 760437145 777369224 150384242 922682546 374864989 378916141 667868438 128666059 717127422 624538199 837001238 833164792 247803008 340150097 843856420 224522550 488282288 895746617 468761866 445925226 636429012 998992347 426754348 224607290 789068854 355303913 834730991 748733401 274404789 556195950 310011146 768685642 750942324 311237606 996734419 180806075 208535248 526049158 873755753 591407095 764469411 306526252 759655779 407184773 163197220 984189151 245594033 777852984 972710250 862075306 897395912 296913358 191230432 772992877 731748030 436784741 364145507 644181906 479044690 468141729 870382948 118396572 532931355 458815511 898096841 819424998 295255266 223545301 254975999 992976074 437176253 203963599 360142363 397744351 354407270 543924548 906757359 689509720 309909185 573644793 748233561 808637914 134797519 886259622 685991309 140249966 934808197 555099168 489869306 591990785 742950906 502821784 309854355 857448359 964277075 767974351 545934087 147739036 692098340 202967120 722876218 108550267 767815894 100334583 924074865 672601078 554621596 534901303 385546534 218326162 821476454 865064764 125115805 674299362 402816719 305255358 378808915 689279034 666594459 887533200 930170511 145484555 660222641 412990341 924848478 319719921 377201443 782913730 679536826 698853933 452131277 796443103 865564854 883885743 457651547 336840363 795978851 363528777 586765433 577386583 701137648 998991062 118030212 785778533 640711023 465283212 433454738 681666569 969334450 713984735 102328107 998387664 379026723 173446161 344719988 247907931 122402927 828835100 407717877 897552671 338226836 931255057 252719265 871621465 550520992 201246345 226469166 616770847 529531569 180600021 628475079 139874669 990948238 155210816 720499983 150253697 611026391 138404117 333287682 554057796 208030340 758094247 543100352 460583324 332248550 723224521 916850409 874551600 869026709 427399253 429515785 130070498 234665884 288326886 171468255 327213605 711382737 726493672 471508614 699783305 990262733 107989642 182523673 288866708 429393971 817338505 540789650 250008333 913980235 742888947 327507489 440232121 146989315 952432061 961699731 212466105 882724464 168883058 374794163 551107683 527266962 871350002 984261037 976628229 932367518 276717882 617236237 752107648 207741362 483604389 788544512 911901420 508272246 615803975 853496337 827972989 908005263 642726624 373131037 840018547 508013938 611396472 630580864 869292526 251469898 491550370 453652035 582944427 248114639 776976432 608997813 118791593 637794533 495743989 383952901 113335868 767552554 994602705 347723306 600657706 846881883 777909796 420006540 451360245 414100845 953887861 610112580 704216837 141264075 108790471 870464319 351966471 957989300 812729628 194120389 842294656 736819906 335326004 993562024 616097332 154029553 826781006 227279544 943564951 476927270 304801147 278831164 704984195 330491024 480299722 870636092 572753983 132785549 221488615 872928942 485785325 415885130 228352868 402612004 362961253 345894812 143453735 695457863 985331127 303401309 993154854 184953856 517489290 679563060 713508884 725311960 332787961 142319221 545525928 271600867 807982800 389114742 570265401 836847717 639209157 169981342 728843804 512430632 604182730 597908409 447444203 894612050 520530501 727064140 885668290 881639067 116229326 111821560 365030781 615916407 286510526 857909396 422180287 780667431 309657377 581110038 900576016 516025636 880085827 743083308 147928707 121139744 973390979 307231727 235820821 446076395 977486176 393997359 502620342 763291279 694844733 665757402 637575534 504943682 801992800 273381249 463676406 737760468 674046720 357874826 263547714 996511474 834852393 100058719 719602707 658466637 421095772 639686490 566776884 500146807 795912151 580959512 575355938 689657681 262156806 104844361 924315189 641856633 265610905 397851177 366965818 387337804 354824470 252822066 595666502 825841070 737901353 462476424 781442431 595912602 106903654 872103638 816941022 691811855 280366899 442166283 581781631 255141165 916991294 370606435 263878589 799753649 483320897 756472868 334533149 606064347 289974979 894416568 849963373 259602448 625027260 366419595 802281724 951303622 340018990 968757281 881292687 451655230 815381007 771860348 830980340 712656426 957315955 401131846 267695323 882205340 837068289 128452608 393238731 351242545 867198105 870135715 803276145 604215548 182931342 853848654 664246756 407577677 603153275 644652019 171314169 326268244 384641564 740989200 423057097 745634034 197480832 757473571 643952052 878962290 116557932 429774657 904709455 483444850 593801011 457995787 520113743 425941300 198977392 518577088 560342326 598851851 675868507 688370675 539459420 931218126 776956470 564202746 276808426 609774183 862071263 279526294 307283825 644179772 979084655 618827786 371331513 277486598 969925439 370155462 230981928 366076713 647891213 572144090 566600550 136746246 303034222 952964812 201031802 367788526 206775171 909076472 851900491 528265890 447290794 655594454 164047287 193699585 834992091 360503263 263439313 663317534 140859365 467333947 873123395 158062617 280176623 471182263 309728349 434091898 265610877 966816350 773918163 299373642 829789186 980420532 764983198 647547113 384535518 416449634 619857983 716690255 749810184 421583518 833671274 213371556 471328733 442712572 126761721 294103846 645863811 686158694 310221476 825211431 810131335 204927306 692145787 236594980 350997610 683937469 435497504 142004847 178669613 608344609 287549242 112790361 360066923 186584059 209827653 103934355 207147950 625992721 684719477 601816721 142790108 740089855 973277952 960479379 445068108 144969866 928358880 988285031 444487877 236591638 104208343 276746414 335837584 415349065 363890224 748299013 772669241 779067391 411532139 495585900 212868126 694490000 785368627 292132112 164403970 640080179 249497512 286472052 656052151 698531491 551711096 123333133 559287507 336394433 524320101 598135177 589278177 350173300 184242553 623951910 301078786 626593042 466851946 576523260 107740942 571229687 110352019 382629037 601556765 133261787 749389422 512799035 131031867 366324587 301037902 668683784 497031638 375214216 754266866 743746093 702064865 382885969 649105588 117037746 633944304 820563154 176278460 546925847 962270994 624687093 776684686 200642754 561905703 944255212 614746945 319487188 472395874 690042309 243321307 343338697 341416931 586934312 229039288 347769116 726853776 653191497 783358875 727345880 764403182 352476125 138439392 659297838 519183378 351295767 571592151 814092184 968436315 557836437 304500105 139559329 692663545 694098633 477728262 125268751 102921703 694365066 669795679 414388562 899230879 673423996 114542466 743203072 273435733 223313694 163333745 320213779 518133712 913149313 201436041 963393229 774351448 929487687 333351202 758190735 942992915 317797506 845950981 518756789 426743655 622220190 158463617 915484535 441707430 320251254 264976310 998454959 302994641 989943799 422706701 224964458 896051910 156310547 338861536 425680717 905867768 627052717 286733658 720689883 335963291 870581650 600490084 127463926 262513566 103807212 553681247 914654541 782828957 208904726 149352258 877460132 602754966 909463743 747065288 124670625 287580640 480807080 454210807 490563955 576679320 524256988 454328324 955186592 817387282 314060642 415669288 663089100 599490161 280418375 677138692 428335968 780458165 567155864 906670934 616820778 837558958 273085096 167422298 447760798 542201158 857924840 963762725 419726006 670171381 560803960 803998927 483445178 274897305 402465326 987640449 523829814 218355176 612431437 898044082 376070991 719526534 734099166 774180325 366299869 586973615 866469001 542236423 952594853 463024459 677677767 691734127 862979595 163045882 896419964 882250139 939958195 105343234 964371061 535708892 483805289 942700357 520610808 702888922 888787772 997896410 347836043 410334037 396053814 825659268 190153353 893680208 783384697 304543186 495123297 173919593 365061635 551839399 990757364 405377084 828447569 392259876 289389860 615083684 923320030 130190672 545651361 850418727 570354689 388658852 356558578 442749890 886696127 403102575 409256007 981582656 356692332 913098555 544451430 434784611 551847272 931280342 763072418 412194969 992357825 949344339 989898646 796121591 373503937 587742666 547000640 482960318 383326936 395363061 380596237 499716437 558299065 574227007 544584215 343162609 565350481 487359247 281185309 977578496 317201858 347085092 119540361 921228875 264378795 107745952 817382858 729409097 712185686 620533397 763237442 825609484 924007127 908982863 817285275 171758101 173591368 176226885 454984711 957490000 750625605 187312561 271244462 550204434 102105283 837835963 687330764 473345241 291685893 453652049 373338465 588604201 845109802 182079921 402382344 284941998 548743173 103596330 330972619 169117376 323143046 208897016 582199748 227767408 414219948 579832892 713519858 418303838 508867576 723221296 921650314 929448039 762499402 908998340 798518616 110409787 520467753 429767807 771776067 514850997 171019666 629007013 591020277 763228520 599877287 588612999 719430955 384437389 600098860 437706531 575807172 728118418 124604590 688681120 113553266 103063201 369432639 535475958 846996230 274276791 849357940 516592451 565002278 687971517 636310470 788990339 751497325 578013763 256174188 496059282 437225044 346566888 689976320 832482311 461892381 494417320 682564960 792716665 188842027 141204181 916058563 977117562 332104255 292882699 461394461 559645899 616960399 156164164 808288455 454198619 615798474 404704552 465908968 536275564 520938948 504612185 787910853 832822806 703309160 919592278 613567908 577829660 696764926 532992802 674490207 571612251 355785024 407790615 187162166 547080054 927376786 708949238 536362992 734140918 515177272 480461282 899660526 138861211 118152245 610585553 842551562 926960540 517667331 651489016 141211083 131230656 285014063 470264530 623944068 435638328 560960849 990527092 996755093 411591220 931097810 218245534 214125283 285411757 171775174 740915334 826415827 187160906 562151745 718469292 825855986 979464246 234238592 701148578 373679890 847887882 294986675 203909889 533414176 110881389 437118469 401642900 277887081 896999974 629680999 908329881 284598709 263585444 513317036 919912490 675450805 840925204 698394589 759750632 373272138 491695604 475394708 109653207 738883415 258456054 378496204 474958795 498045223 293869186 713426627 159325613 338298402 948626357 420841566 780126810 193367136 881777067 724648587 154852913 802104521 195303475 245328412 458562868 866455672 144053650 758896303 452498669 378618106 864841178 873493951 869541650 543385820 166514416 233003747 824960697 112760984 278471663 399128223 236908465 436437651 388747424 287040646 777762490 829631735 200274319 447264182 769781684 666190673 861280492 699023867 624468054 577899449 467274112 216813919 678169258 217669183 894743071 620900156 326287518 575861092 493267476 962439615 408793398 320056975 754288723 186228660 201499396 206554378 461239210 632837832 715413982 584772610 760096728 830605843 746887373 298576608 740497164 738778898 677632152 195075927 308536439 214796642 450905551 467772607 535577503 435029724 356297566 880119144 378221613 486177532 493519441 147380367 744634582 245509474 768279797 607577616 623938143 157619049 176813643 837229394 247088617 324569821 406156135 734707681 640058976 422835408 389799512 333905234 362965327 121410683 286857220 371593742 377169183 746840701 533284302 518296804 228538357 398250440 569393614 215614130 661262954 774233174 679241374 636272895 478857047 624326780 285415641 638651604 484873867 544113512 233038200 558620478 712514995 441713603 359239506 771761007 280009382 555362206 990204842 108120144 408562753 850865056 499795404 231357410 683715136 465178853 971824506 464527599 988019094 395403825 598069825 380240838 245720046 590464539 469819163 408870945 235627439 392807336 925817528 923151738 313657837 703292035 883224587 975193329 674716174 521431477 137161886 180096124 986547506 313629125 255150806 159937566 747984368 479657868 509203056 475450235 112262567 586944300 385962369 238119192 805989359 138817410 195180228 938123988 175535165 732399982 578816476 993046883 265496904 964489249 548815970 761594968 821148032 696065773 527075164 211491230 592120268 557774222 643565560 286939751 758089534 111534388 232447653 460999320 223720518 500481126 554916354 487044838 920867717 909045169 542001015 267805467 727022541 304849884 770115819 731945614 102537606 478990355 199829337 909458933 373174386 402769562 385563009 261801865 141174166 685749375 664810692 941444686 174404801 288544797 925774867 780508523 420509896 210627350 920698486 694149206 824490394 985791544 212485955 406710617 299697570 202665748 295662494 399958984 568465115 723621537 213962860 910223710 236846750 276267461 392944760 314162444 211377377 232786482 390172435 670125001 810502920 893094376 860691645 105489806 829144377 997861455 597312220 705579594 244705782 289633363 603819530 417390392 502090348 665679088 735943413 938518748 545248879 177751290 890268677 644815291 170327873 873104079 811993652 288968652 791713201 345286588 863941382 723620389 117197072 803753625 481772712 829994093 825316528 476056409 751027327 808855966 555905954 789125882 923059354 779139181 657801438 690813977 572615512 266599106 254690184 477969848 192179097 824623404 124726196 470952011 627211328 491173481 770465665 590982769 692508477 257206996 674255576 318937774 967747587 770134554 199337020 310181412 303434424 667401114 813013949 892139505 426348127 701454385 114229908 168181707 906095484 448346520 374707746 575119904 343098728 363673337 812659499 448749603 199402141 130033364 345200756 218593920 931559057 970096317 351337281 322249299 393583093 618102802 740017665 533964495 975298526 186145482 612084921 970135189 966501397 317347834 484859310 584775397 933933041 468854875 390982377 265506663 977065537 813870142 770544756 776715282 180342611 104874635 806416440 390138749 177442214 264865304 842802657 590742927 901194006 314178932 539245668 459259326 958030790 361208689 599152748 980218028 742868351 339882235 575878877 388619637 610343863 460007413 950422428 212340222 762736427 327245127 207871749 432191029 988051878 163137177 162977238 839901164 234653447 450048537 519680115 701395601 968733656 503618119 835955885 686684183 853867352 596434814 203802584 816966071 333898937 547678981 388833394 355446323 874620758 827826386 537705593 492121905 736175275 904532586 370953484 320538766 624958980 250838969 110134408 290746649 334893300 611422789 823418989 303109796 292965169 444992764 354564831 519019254 611125761 888021619 921980891 241068130 950346727 508969102 698256210 984944627 667053362 777936952 101567464 968428271 781526395 974307094 413000022 784208803 404035288 377644686 604468692 657902426 976275505 572694083 775952585 115637857 728548240 119651943 942269403 610215678 257174102 213055337 394171691 387584569 498025531 348688538 657870841 932586616 137165244 183213636 326005034 783597793 912566039 728417608 281945730 746090508 819099275 606112460 801852251 152528697 363951539 918610323 380081532 329943985 157072159 504333048 119511982 923249095 687943746 814155452 149456962 531759644 666540061 925174838 515354888 143594107 841868768 793968170 112603392 415631878 177179313 600420532 505362772 700732857 383484982 294420796 209314099 183138621 877712988 440494660 295229290 940332563 107456706 728294956 919027944 875496968 261898252 464102279 459709078 971344104 107508542 398990145 751380926 695287696 813627740 262385325 408297123 758771880 450563503 109089852 195688495 389536717 956639813 336334531 727109904 366318870 312244257 447810542 221586135 784474972 900932509 362857776 406728982 781017100 177893219 192057641 463254285 563886604 816381334 276213341 591809934 541722658 527136648 936258967 202984449 317743573 267434047 493267006 952422920 938287175 747944917 519126829 898212194 836369259 441739169 295647563 924363360 150381149 650963517 760840391 919248674 592321385 556425817 542680997 367910649 270748858 559160129 192749921 441808968 483335451 709072354 224714328 366250344 115619273 271004083 974255505 577270217 441666011 926936140 348794753 771275053 668255293 917644826 672215887 967881362 962631897 154660560 843152368 304892456 675265708 885185944 786738100 438021535 371276325 682313247 359255343 586415100 768127790 993328720 863878870 843998562 864024131 716032812 401755196 240513217 771906952 233079516 965767568 124176798 321461211 383000521 914160664 682815441 894656268 751841492 198591570 315187947 881346861 409168428 794804027 693447352 538769361 409740485 438585996 808671824 549809477 905274852 769181137 501383009 619615636 174449517 459545183 511768691 834399348 711723356 925504453 316841325 261670174 193432440 228041986 659875709 233610832 538182020 971048652 250471417 863048372 940118720 283014168 416371767 617600979 266177446 625189949 638185207 721398880 327032266 237708572 363799537 619214492 464391234 493699792 693104569 499012259 632840304 776207410 334515507 862786067 469629948 538015347 787557454 639359408 421596469 445541163 443123579 487758603 574491324 205380848 420239852 174180023 117766773 777306995 543645229 291456972 294855982 788061422 887025045 131533288 921702260 933640236 979000932 574000501 396776459 446655846 765602267 571288965 978117143 854817141 316707304 513346127 887048032 840618373 577782425 462599707 269615327 416012317 785039448 897382873 382056813 591854720 856186414 480409773 943849822 566127649 507215237 788197199 627468829 285443282 398380385 654945540 740266775 179677295 381654980 742620503 842391128 909108315 648493305 732890560 326498581 840566722 939745228 569837783 446550090 877038725 278312149 596180824 431968503 975276222 974680955 726561083 341263987 346158122 853588697 507092816 796802081 605117725 746825633 946716547 682874019 409875694 784940167 386446080 720931635 635746739 911015014 590955035 995172555 575422695 685807651 191769868 929087953 169100591 634966989 932661711 125322289 245105161 816353196 466122533 449508379 676247216 151691314 969882010 902193279 475103180 677090513 317280203 200067833 910357727 962134299 532044368 500785832 697223136 862008031 688267382 787880898 194357366 305339819 176025406 735765901 750014015 122303436 415100182 465528002 465044761 613786803 870161773 643812106 332294893 610432040 299342606 341090989 302553465 255836490 257047198 960901049 573032652 105665290 703258505 640305584 994515921 852304487 293092234 356031920 539822994 431993802 288756737 336899727 882742331 448788516 517280264 968282467 945766775 429137985 136850997 221030892 346447630 652665881 921053138 942491030 285080430 855403040 426569318 905512302 681583369 148499361 816482534 812967621 434724003 731988592 420603874 698787016 785396436 687469321 189532087 481925165 928502899 626894335 497422639 470373673 508115381 236043134 192095019 145343081 843548178 616172481 109330626 272721923 600047285 829110794 803936851 356491458 738338697 691829059 196773816 419489407 216335301 865348244 496140861 932433301 560658628 413636781 710743686 270327380 178011969 813443567 976985725 258531541 123089960 713741564 255479189 918589393 675737256 177417291 476889597 797802842 113136598 148680647 177012867 715893560 553515204 281408370 588229646 246626136 122304520 224639020 389044985 719438533 808601496 749797828 301223776 646302971 149068847 284049483 995475170 752521426 261617915 154210108 982750150 535315739 208700510 253007193 270297079 909236661 751270905 618434305 579857675 823362984 954882167 575577266 575474333 944113888 290259000 811296456 166548199 222872234 389602066 655278716 712649916 485838002 296576720 516568854 961902651 918864223 880627417 555257900 832100982 259990481 105112669 687915364 905358943 377146499 355834520 202848191 967150555 974337202 605114490 451171137 612630084 812842300 440416667 839891586 142351447 948792568 808568848 649934074 176414922 326543593 247810763 489576705 961548127 842482060 834604528 218099812 167864437 723913756 161270494 288236195 587744939 869803901 808132233 664902785 964695176 869089606 920102986 237177751 623640964 870522673 765516914 143175689 889354476 352307749 104713273 116335027 767807418 241075490 580888875 548129087 986537781 926233589 420999461 279134821 848577930 485035146 706071273 498390598 677918388 753512819 707336041 458721972 812761704 895015591 131816960 876297879 650399971 898467900 704977371 161977055 796208125 313881559 533063970 480908357 989019541 808734801 472424557 844659948 597424661 440619076 425406696 562888088 199964644 692299634 654374299 628091002 839390922 239198325 308911302 893916947 273569627 838961308 733232281 904360336 971238032 642151720 356041934 394173386 709592064 505397540 684402345 877557547 717046716 948707515 980667644 371594422 918479992 183191366 497991113 320630912 500048096 140501118 402931447 122408450 225614380 202045736 215348299 217033987 293671911 648552996 446369294 251419395 134876807 195707385 328511527 441300346 703888147 840932767 422626815 602904504 649533089 485804584 116321207 661123629 237993959 763695317 716899447 287015011 279087255 628695250 982739876 387597262 542437546 504481109 340811257 359169791 747305309 661879065 157101841 581049796 775389763 382328174 388167621 444741576 933184284 774867228 581593334 544988660 955523134 784285420 815074736 992038827 584259745 442687478 292453017 624351633 893320122 978165021 439482781 126577715 624232853 357754295 116894104 597994372 183422259 341627101 579035303 303220910 578286812 194739355 850674233 202337105 561066557 358168394 556962219 758870114 499192547 449222044 627745135 604472110 104197251 296846398 114502594 201646625 678336479 822882698 607626704 678953033 517726419 895487723 636986586 811983021 429531902 212452284 128070514 652211441 571815504 605953716 686740890 384249274 258884647 193177963 427567619 325760878 959367622 291742050 750351348 861827934 723100793 550465419 633269959 302742461 552622639 197859702 778276879 827534409 542711673 508616343 117622765 256269932 111790542 202030158 512847683 527310078 376256279 896803232 195748027 946474534 159596853 528310158 187458434 480299813 737021831 819607201 250997163 260806929 623954503 507864485 132014765 151484360 177310907 895811402 998120629 648153639 891441521 360341247 644791149 955803542 337382932 792297886 915540942 955739302 716948375 509788819 535911612 818366454 302966669 790274924 720344635 726884544 700553013 713740037 682929449 359756675 670170423 206297790 879451517 247911533 553393056 519576358 467241227 965431897 992132739 306690405 642465165 865280786 859995773 591451926 325199139 945932124 123061956 357557448 902085010 786620156 804201702 519279855 693924991 915020741 622694797 424334528 300456336 996966514 464285832 172266308 587690710 468466960 410079389 808332968 723571098 128218882 296219193 285386830 790106669 746447254 380865759 308991197 693377129 492965273 255342394 837782345 212498715 244000218 880140519 372269033 646383438 959097139 911493287 371412893 798333083 484709546 802017210 132403649 270912022 710866202 628994700 157615836 933864469 544558072 641956210 271408835 134145882 215015468 425988202 812035580 435072067 351542414 920088153 315702110 545411759 517436273 710498886 349425209 361719654 963493537 540573896 792517778 640350333 918974145 592125477 538021656 698613556 250939954 384095940 813584006 385870848 636331252 818369908 698453228 659622522 546648860 398287919 227050986 561271872 676584813 126658552 226385222 577795525 163545757 606558753 360480632 466700921 615722204 380950203 529828193 470191765 564402769 752966955 608982127 995183948 150467339 869566461 324414260 935921236 988682204 505358936 521771091 532816642 625776082 747878100 462717826 424867562 400864067 766202443 161240582 931557225 916981032 269542570 981736135 835009346 484328768 450702890 337278433 893655129 859679124 187216281 908828682 146941011 211518753 962129646 891711144 981832058 962051593 469191357 814160578 506645883 515707752 117714999 138342196 578048633 396362025 536420047 185304740 564019394 218154326 569890833 457203546 773152842 708905881 362214102 767702350 418850857 486621399 230759817 647906017 814549982 105899105 220386754 871550083 728635487 257838284 709840939 611692537 129768660 547367808 108766328 622517997 972242471 439134766 879344438 480575186 814801747 940974489 631382188 582800982 679187768 458786425 888482913 939698822 442182513 142662049 314290707 725766076 414230970 517331622 625050328 374509023 825069582 426903028 961803133 514337587 825297900 293143260 605065135 985557917 334885418 852463051 483271273 513578064 140264771 787099917 777640234 477091036 756409408 100139036 377932389 416844348 553423159 909329570 700064571 165479631 113647606 794708062 170040631 351089026 987898053 971115655 406036449 107827767 912718698 353000058 610303747 954349376 766519849 675455391 727470318 601080460 887738377 416594476 213919706 816185098 455966158 587877805 587801598 122015878 761915310 397059028 925143216 633673705 210240033 278965917 760017973 983406095 384971868 750622298 368683402 582831333 382805975 897904488 331124833 155351398 326261747 104960337 475539818 680809069 606463754 288577691 644939896 922344733 793882507 925474396 459347558 517022345 354993670 574388363 604737486 425986232 711483064 942859302 418971331 791056346 144243942 782612619 804328297 100568665 129775784 582997082 134833775 943192688 103117506 381534252 164644508 100876758 764818269 616569357 335865556 611093869 142535901 854521425 742980832 664845206 926079409 368696855 718512952 969120212 825618287 825332800 768709389 114502355 467963170 670044418 517997293 490427885 331053937 738434910 148503663 707099730 409109123 246861473 140703686 293605361 561376623 615120277 852349588 699942097 188012470 446344081 907970580 192762990 143273729 958473659 791935526 142918599 541976829 617896342 324409190 455571886 402040068 694515147 537523942 131638250 436855136 555218157 633700184 710054886 322628640 872723004 665269445 257367740 306995817 316864794 496097307 434616745 192128763 849795969 471315083 982823574 822068181 867890223 738519075 678296739 799215974 183355895 286051199 439360801 787846013 115096842 483019219 707281262 725892188 617098646 878848121 941149535 616229638 585492533 471809844 792606606 232850842 447152542 717614086 675860533 709945721 709863818 242909587 364460051 151797913 582153145 663729047 743689082 237860789 795236591 703252236 806922047 351516184 581288564 962598260 739761931 596479784 686171571 767477506 200804458 683737393 263364602 168014285 166936926 395050951 948633352 175712846 429093601 925066353 577656549 607013387 474810985 869564408 311215147 295797803 478111126 443574833 360718392 853460787 880447733 953082558 456093392 705938328 652985448 152152061 180231586 956486699 468374197 206853745 273383346 696460451 700535051 258057723 924389044 473678645 875602677 438400134 108332083 452956519 914242378 105733155 682265611 939803941 591801109 486371395 993909093 748324910 253777214 662660576 365982999 965159148 784729400 460693702 656345181 351585346 493883047 556861113 369820769 396499104 918517322 654613975 485275828 209043154 560375746 271407697 218129513 765763786 690924787 669873606 827024851 733126301 846357838 750841529 382880847 905298885 995044097 523185920 940178740 653587978 992287503 926913666 708814760 762476087 707623980 260180893 707189053 556559562 356055814 934197181 713390473 209507915 776901081 685979275 136147969 689209929 489984085 425714597 489096791 348789192 140358751 458385718 865502121 685387411 479566584 344830144 702338119 653329821 869037315 166436650 789727006 401268365 189586821 701613372 891836965 204771597 760552082 865805443 804376328 247410623 826734026 825892163 733460605 953938247 346997164 330753062 661918846 748021969 167712097 560426716 513615959 151162840 452512293 785441777 889427007 493361693 341908850 208962407 692968556 155363089 205095618 853919351 195461615 434691674 181984621 124248460 465200848 188468638 215130183 839862654 850667428 421766073 129402584 282278641 409764232 668553286 512520327 403405686 757224429 670259551 214162901 957310915 107662178 993435908 958979466 785022221 420197263 218888877 117850102 882128249 716940621 865364167 697895491 736455992 871273257 396479109 791107450 801362407 802336479 415348000 469915424 813273618 982368796 919615227 114588898 346335246 898106801 667933639 383308764 322305910 786975937 234573179 621054211 489638515 685247989 997375801 792641117 444981531 450703281 792727792 759339419 849569861 303913825 962263003 920461341 803751060 945115530 766563997 645087451 106277235 527807143 343619244 449445035 108429749 610017247 578444748 562869426 718479812 629973135 860617590 742881405 556447008 632895282 681082344 891824171 192956456 357673568 459979807 472499504 204293063 673304734 508962756 322200989 632224389 187987770 473311267 973037578 418132608 682345799 787263413 505761690 204932441 279065174 708920352 529993230 948893439 222031530 100592884 514816159 308140298 278582403 972121665 946646237 685388808 416940709 968656988 135193835 418480174 406285923 101329892 649174499 910256642 684796919 853311446 878018214 947269927 987442931 148645302 658900633 499697999 588405993 626907140 999477177 657915297 821962729 628891720 719582869 236122478 167659211 962264937 276281363 213995473 577522879 897206790 798927612 532088227 711088757 729795824 901566029 565881276 517030167 327016408 438585387 233219198 795736467 691672854 509814643 490057820 942039083 414490215 517307186 474426851 975977934 169231445 181143172 996698917 479933681 113661498 514664833 573542617 986994328 723526852 944513909 893775308 669807421 987221009 890333173 445250332 704574373 667820072 360287135 732850269 842694403 989134794 820628166 696617977 582326081 804293582 646347107 965565481 931161034 149723681 783759169 181358976 931986284 617341761 189850352 800436970 630099794 971622152 505841614 725796170 594273671 651315748 185902779 663152593 128409601 666310942 155376562 631055814 314399106 420237798 212362309 372222055 881652315 701414053 529741673 462231154 844964271 730124496 423760249 839406196 794871233 971554487 710231547 183577005 620431733 741220776 610168598 302846882 955337968 945151390 153474967 857186466 630402969 318542366 504355929 977886950 379706740 181157868 264101077 408724484 638675662 928872751 575127672 117200843 149070400 213410222 643170059 416029730 224829063 263380370 982273008 575417724 510491773 981540674 289382635 176110559 880415917 559182601 216597679 837605742 994266308 865890097 443010357 900964447 176100011 680183206 170196599 750569086 243420640 406774363 475872224 887232358 152764192 310539603 460462783 422561791 363338295 177585954 623856860 831019117 684182597 252530105 828559391 540552000 181182565 453546277 464644410 856208311 620012257 267250874 429760271 183593811 524333349 336306026 189677793 186183168 781158650 197618567 270689540 110256283 991738473 891933907 656137486 585197294 261791131 996150812 435779194 352269268 118101729 819197511 594335575 462330731 271003724 623643932 843326093 849874119 365228108 534016199 168051047 706904338 853072650 105442741 220940372 237454827 517563069 388801877 967827007 684099046 338433323 168981424 733178375 890222969 964816205 130464793 723284815 242475638 957726375 961157617 372862399 548596563 937670879 707680820 807541794 562391516 383368753 252219239 166578623 172555109 598642063 925725960 781105208 849714889 115229984 279359733 464446168 240986871 939191126 635458717 429623346 800523632 504617028 729434988 156960890 129382391 691117713 509434256 511145661 973420094 437776217 586312264 437854074 283689461 924992842 666073905 259485554 802004800 771313864 652778712 328783083 610996818 378810246 879094226 231896025 742676113 484359533 512199347 349836187 806784269 523191306 305533328 112251271 825733043 196258040 504030098 669798635 963168540 993678517 766447316 538262500 461377386 468771434 844671365 202864223 777533138 314781796 862883179 114697027 159530553 437270536 922500761 232302130 117338982 647559772 941429828 530352950 168619188 531505649 437629574 226594427 675896775 954611086 511402824 620555563 529896216 249319652 760687559 774441435 290455102 335957840 964995303 744502081 646072031 914899403 759703086 908134847 989428003 926873590 103752722 397565479 849753474 693736655 970253603 141469367 483752607 577833895 159135436 659604793 349131913 485534466 616920915 808569286 981454954 329174218 320564714 743583994 342454366 588508828 325072048 939362384 919070940 221168273 609492184 119612389 285153226 950939373 292639910 251520398 974361532 425591161 378340970 420539478 715341430 306351287 779630292 618658874 273318928 903679557 676555433 498036803 577025131 947207626 273285137 101549709 307055591 706999437 156505719 516271984 165401877 427447008 891311940 282412678 746714105 206729025 209731939 940562135 746638762 859726276 220367264 846344983 757385139 523875111 641897144 976192085 176293275 631784356 965147196 671343400 735558384 586441989 746665604 578829446 419403187 803857285 466367940 951994932 857420638 177585155 914094851 263526501 359976659 153168954 944660431 217742126 618057259 194633236 559969701 689306057 670434483 170998429 176656175 811708536 740761985 836413855 888127204 574760248 376030860 380969686 601153128 517633920 860095452 948959243 812921538 200846993 134305997 769825944 427036600 103227480 750110224 546102102 437943702 937473403 977416856 587888615 862499350 113187373 981279251 608770910 527716940 586194776 600313633 602298994 402510670 787704670 585754234 298522918 979196010 400155308 588207486 217082407 744278773 705796603 491461378 517319483 477308961 789279366 604701983 180184896 456587290 422031229 602804252 459219420 590925769 414622937 864678962 380908357 176535724 758803148 145143095 317016999 663467755 431423741 136573456 906641912 996739615 408251043 689125731 573154992 766686795 306791824 673691059 467996019 794166075 327087591 730054244 139607993 798016492 960410626 535825036 165299954 293729825 600687168 720010140 142173277 134492956 445183359 721084314 264149574 134646982 640972629 683199616 715166446 612379411 988043934 819866157 794906544 950380263 607444347 667207442 305457076 569275392 200035397 612885492 767275981 658933856 374805405 113192636 494713701 630044245 396632705 676724347 927074082 682872497 722630568 145464846 419210860 294440384 430821826 516857142 701799390 793722661 186878213 945122157 397869451 420867277 883875378 580025350 862923881 454630745 389636155 498373731 732435559 463421393 226419393 865468377 738341887 494950649 505972916 257961401 912179240 983341148 873607259 660240730 589175306 730493022 188547228 896514682 507543307 388141294 510786372 455252658 556732413 524148967 956841362 588074611 724713866 251416713 562320743 842405540 970056706 244612800 598181269 879566572 745300588 807960770 375802989 520188188 147105863 287847325 243029100 303483541 291898630 774958860 102705455 961786260 289480545 990998671 204915990 766495017 480528542 301956659 709443109 710400216 417648923 981693923 741919596 229510368 102805281 998040869 501754667 656128842 711652240 271626407 798333504 496213560 609645460 961163138 493719588 375459032 384555346 160469664 629652574 102989990 627896979 385709191 187639849 506746654 884183409 248610164 412383178 131990329 589065948 115338744 250316266 420076549 489557095 541461944 231010738 255278157 636171896 548487290 995430541 167473692 541813612 235644543 880119922 918010225 483123356 957275479 787365009 695016282 337620964 313978710 831727124 876605827 669016059 341788044 827368734 764140484 622861715 564063202 492956049 774995347 442631843 401126064 464466792 726303447 715052762 538380183 157673937 718917928 641295372 472431835 909928941 272182051 968737867 170387753 636553313 868012308 304282781 501070895 569344718 929221884 100475662 861792608 953629799 626205898 768683283 364022431 830465492 327655446 286611691 629427451 625120169 151393316 442740420 691909466 842139034 883945344 979173526 104284445 971163544 908679298 822504978 169412876 722524556 963612506 118098496 296775465 997905246 495909563 273812783 284304589 687722495 271446229 280980951 333833981 822097463 685546017 312746004 824680282 647116140 534543175 440706462 240321020 893311051 649970136 318136463 966332027 507013442 436984860 972941039 845535860 787457118 262364454 997923258 784566443 967568355 582392446 275778171 438169377 777344599 849495719 710427626 127181020 553466972 895674150 963615162 165526797 813406036 572725230 826878477 166925470 239297364 603594709 273833320 564724509 764786389 430247471 292858502 444548325 731421737 734530779 889252771 144151597 592863246 615695669 979166650 758838619 945936443 166472531 220606127 268819498 524238388 735499171 782089692 908804946 631718542 753220513 404651721 634617672 515903646 756141365 925372717 446878892 178648166 501330522 181020524 673309793 525840626 327616996 320228974 597032855 300561626 788442647 892282717 610185943 840792820 639289881 853099847 766054077 172237963 773991307 204221218 761304642 527150947 100392132 698747133 624849763 738690238 756456315 957103936 518352469 951807765 382615492 209305771 746838235 255806508 128446354 743961963 771445724 469092009 761703492 255124364 645798236 554776874 342841822 908689859 171216203 898006202 369550399 327787351 531729664 773749645 772210926 130405731 955458699 345013060 173368687 388124920 737036328 383234293 954567731 724017570 473735252 873764764 534385116 937739609 902268354 710854893 182073597 493364226 559750596 420457464 833811343 232256164 472477400 644532324 196058217 395117516 199587663 587127775 491761598 511215975 487995579 258203418 526156381 101620833 800429019 212498836 206820207 254336601 660271312 466120713 991292929 584618194 859027028 999090150 611485363 446844941 113818484 943383236 105471634 581583540 801398868 209340674 106948129 164330794 583863943 549010325 578305406 118510663 250647199 918521220 401625755 899786259 963315776 293693210 113540502 114541582 365865208 164959566 631379672 809107204 194273374 356483387 532310256 140614829 726824633 205601884 129075906 358707763 778619100 536798681 560326215 962349150 581471072 837492641 819893772 745566166 623447634 994654241 230234348 159293134 866027241 559170160 634101020 859789490 890912200 235375159 295650028 907418101 269982452 380232123 455686526 959855009 240979834 173246021 962455632 497357688 904472082 421569822 826188256 679119786 287927221 923398864 637283190 695974195 901003470 197248656 333197713 308342745 897097361 491617508 885192315 944012875 646005282 886685135 969129571 311692135 451943628 464763334 153504508 569982476 319843496 740802629 610539860 991690436 900073532 705382732 246815162 394317460 681281027 365839831 748680785 244368443 214231971 915615791 831378238 934937527 351508147 889236058 906395095 168605807 478361366 608115844 436984955 312841296 403464334 172079800 876299931 645639266 124263641 679100655 287458730 119426794 618465407 143040911 561483198 839573968 718209767 414677366 946593470 758225505 209898654 333476748 198696585 939983896 315135149 768057247 416139078 320132224 618262360 601829426 928878372 706576973 911264854 165788905 772911210 643355669 978991280 233428508 806679566 138312920 769413934 139240125 192897056 320026065 104375321 800074747 691739447 884686927 456248267 241612207 564282457 656537978 222621337 115308786 752121227 942845724 720806181 154072490 588370056 223431237 370752482 759126648 335473806 128357655 221845483 495401558 660453649 863305424 697115512 261281863 383220467 372742008 726327266 970660562 338879288 584728681 957891487 882423118 413969962 672332665 978769231 358903271 572349572 347821504 406773264 700669459 178570582 391082742 149130673 913044931 114713124 763717331 291952622 963174308 776094849 855602955 381792372 630725640 241631105 850810389 815910026 180810319 676291068 232275320 687052807 736483936 736147272 797057539 446537438 419667896 646275430 672252662 551950438 875110820 245586638 739424292 874101690 626412003 474772448 318491964 760214595 875805008 548990695 616497955 501243012 503161979 178613859 114666322 874238327 423907502 801836380 605662863 446798531 978422305 137098010 698259750 994388718 217634040 228491206 744099313 715399188 151601418 797211997 587565359 310197944 303622188 145983636 908868111 662943131 577273628 595346018 422060727 827718352 510021518 373285023 772574551 342323887 320954427 963083643 810349612 929480776 810256586 481565179 942492300 459166940 104995207 713928622 563041069 609021982 660995056 504947560 638477632 685244176 291116393 536687382 487640522 521449252 995732313 650493721 237082095 687038889 545404242 580424553 640953810 625934902 759510057 105188202 506946855 199100320 480329002 108439307 171233262 110178607 456985188 891473425 359789179 905275256 592777484 309633165 665248791 207609879 720833077 576892975 988051212 558425477 123025537 966704609 303043019 649973854 835615827 213775318 884051452 667171261 786539390 345724307 879090570 371276983 403619404 513745442 204531434 854879746 299557073 962889659 348661945 884679750 293072855 196564960 122976850 240693406 200083873 433822503 595009729 233995968 165068990 107618503 222991800 294492233 510765965 754274639 535144997 789479307 822254780 698235331 806504243 648580254 370566631 390762588 700432750 642682824 542660074 331288879 110891381 194782684 444701903 529646826 321741031 517976946 301820629 145144432 255145627 255825243 751881151 206193113 635468118 173607912 344241227 213860825 881406166 950596586 466125640 561826375 542583629 607682291 260104256 304296795 723943572 352381234 158655037 792856323 952287853 387048688 542918806 879141498 777681422 674556793 950133812 124513388 935480832 735795641 486393291 265448096 272452560 834749309 350357447 911002947 850146534 274926101 440041163 451185170 837893938 147764924 893554405 847545358 357009070 598819293 773970864 576381607 700656514 865063574 480985960 925333483 278072749 878416360 541491712 884034759 966082375 559042276 513828897 738027854 489492381 419756746 130176503 507416627 257002903 476228526 558147353 981368673 457039952 656732757 723761558 864363720 837639947 385415046 207185663 441527038 907570312 385955141 920258077 430800494 226018697 550749703 771620013 839986330 160021661 264493074 448659422 698430407 580656318 811565665 967485058 356620264 387399660 964153623 706133535 538500209 306621770 899846197 578256096 806545797 870610230 542023657 487078813 102228551 562578719 116867094 603065474 858558580 341723273 535887042 451068746 560255843 930728624 766683024 830303988 362774321 652430004 600226576 981813410 165785291 752622790 209896705 400814408 801074031 689857518 943196780 180178590 211043774 788707832 676354870 491164543 388208358 935967890 679252299 734527803 562191610 271722073 817740611 883108297 161829027 453923641 700611721 426176682 300091985 496105946 518126313 404633059 349489796 851903591 621489441 361972705 466386119 261270839 889898870 293775313 145026514 635669007 970445894 290686682 525518160 487349953 119817287 540234977 615254603 690271210 705988982 222071363 622573457 402525148 561116077 843626771 304804293 353353358 656289937 674850964 931595464 666019308 261029704 456541020 569915566 553487832 658074400 185316874 355549365 130432002 600644849 410973323 975463053 801415405 828924181 278233060 354090869 859835910 951704309 425755283 354966240 696459116 153586946 865498977 830937720 604279937 893242870 221419146 469324892 482198645 610587728 703521050 678513628 167552094 486022275 509959751 280866912 258146754 139575777 227489944 781914807 772024041 200394999 130385030 398075639 300065023 734380564 432529148 806234909 815966131 152325294 336786800 274633019 901995236 704983026 709541907 509632283 890257283 122695859 685330922 441606823 394168140 667530701 873148109 544059339 778262632 162544263 214554938 828578661 542787759 635926034 300384663 172940660 804556104 934598190 915726806 682631396 699139014 594497238 260943746 235998868 332299896 486144266 372849228 481658666 252819370 832691385 705349404 282905509 549767028 855372802 417643298 482536407 723546898 567518705 736736978 675653919 291041249 789511042 796516900 957048196 879008625 644626268 429282031 700869171 589738408 637252352 856347140 104385932 347238230 951572104 980383945 485860903 265594972 771861222 959046329 743561445 600517271 168670435 790772322 734398533 936731527 539459626 319629868 293156856 589326966 340912149 533706982 766254009 867474912 665811442 172695441 488290846 545384783 575097243 917045954 852297910 516861497 816692558 769486865 725883340 341433052 762306062 867210014 494447707 201179704 658881104 651073322 590096615 766671254 269381487 472145795 179583289 398844772 708215054 861501643 712127508 203796822 655734409 728229614 505198939 741763396 528528630 970368710 676049342 902401841 781276325 187136876 918205834 798318533 201142883 365362461 526724744 646379864 566474718 157657211 804333808 995763178 693088649 576331854 628673173 887259791 862071503 781310675 581413752 177314392 855104707 391040221 512609207 852611474 739160524 474506168 794985122 841609476 140537401 371224901 417071174 373344046 404082818 702063166 469759848 983077738 848465466 744742978 514838316 848613593 199190119 286482701 349557649 261207822 310793156 126871123 374671717 725057022 710557983 612406603 659195481 753119753 489782488 256477908 883422850 341786826 922088268 172958068 153643067 976211247 389943292 416382388 667588243 451800750 526523425 923870560 593607819 528144207 830970465 357897560 400815968 560494010 432130724 196349706 161940984 746775524 825459901 462618863 437490660 694250910 590228079 292511668 389864965 776223971 818706295 889141629 988328128 629299433 710227692 714171103 726551121 747813128 716461641 967847235 826676155 214330514 203337650 453073776 239068266 751567792 944339397 815646484 151069056 443476291 669879285 254342741 649642605 760506866 537479268 831764206 941524903 997656893 888703037 209473137 914204146 311006297 111911051 627436102 535215291 331370304 250803883 511025276 189915551 207600577 685244263 653445596 545799804 232596008 158742607 298861985 112335988 158959929 611740204 463102031 733071890 312506200 225278715 915231665 543013176 124025506 516691171 218556809 683118872 887013897 397836790 630219170 910955364 459338353 201477063 456947894 124115917 190917631 674930153 335328146 888573555 289660120 165963285 136390428 305560568 790334606 740138903 720031270 425949946 616282964 926599143 918637584 916566321 237535810 970026702 370937681 295280645 847697831 587716884 569171317 440753538 495514676 253638503 347240478 970085118 717184992 906838821 431674082 590782240 233441449 843354235 912338031 883664653 677388370 415600175 630045061 996525539 337334334 972040970 604806620 895753396 868956583 762851625 443698859 275789079 406454453 591003803 862267748 248885316 902913133 967117018 850298145 851304562 905889054 547576276 949983659 703330529 698506268 302985041 923365995 858627560 272706173 459084117 638369571 257859761 965370119 231540297 771696900 892144567 306377038 486897589 687337083 656235891 434850031 585140172 215522066 478332748 265763040 551382371 206248887 597859813 301926573 261166457 644462281 720678203 652665950 963745167 858512910 375998868 158907523 451625912 303698762 151660428 177793748 323127594 225716091 221568365 562917682 501788015 905922184 989667220 179657435 833278961 608212649 776898011 794672195 651377527 341513286 618295580 831553916 612828753 430747949 164578969 949182810 100257820 646121227 352774242 240278936 733286574 627477298 545432084 467590255 758125154 942839082 595649080 474579200 512615376 629971179 428637266 430436044 772809971 646769743 976026275 940229004 997457533 605723801 592664053 614057001 155795878 562611768 938891541 892201691 316016818 453757029 809435021 321508350 383971620 465569319 849607580 879830989 989730873 908865668 547063060 986810891 528656528 427193130 788416261 224850049 928852903 755415598 182530322 230257423 986930250 351032911 378093854 657728146 609594214 559700881 714864659 204860318 616860742 156401337 183829595 938747705 812069848 780406583 698347806 777272149 701960994 331647766 640720043 578106860 843198232 110230632 799929373 903919384 596490761 929357463 763397019 285796687 669961852 863311114 660989551 368765372 982370767 906422547 377035274 915105428 618822278 759189484 812802312 969753871 179986457 775353256 676907572 644705507 355140335 205513029 450700776 449298414 806086764 246325458 568930101 833250438 725226939 655065801 650467026 924391590 836512699 689058577 956103382 838078471 807648309 819926755 470263765 649983852 551979821 185012885 243394996 254016014 830455543 878764275 828564120 457286875 259329963 789096229 140817508 664625041 803206726 702427808 310404000 986224300 657291437 555732853 754624227 928460418 763046274 508178491 195500024 590671095 790781995 974895128 763375668 861138455 602860461 216898901 582113279 766925356 160271972 767513878 460412825 622407976 642290511 371816816 842386118 811163263 117997778 684298953 722859614 104281611 523473153 962814795 109377202 486123273 700111951 673299350 436561635 986203445 505753905 277054863 710487084 107775530 875263039 372311048 647076979 401980048 873217583 807191287 943946732 750496673 391741773 725011933 826535928 275067235 405498192 222908393 272295863 984215920 227692415 450333146 242840813 123070213 165248124 709138375 145125369 338965880 247060825 204667071 277629875 586247599 962534071 338435186 689610184 611362420 366603875 399594496 461147410 536586180 922285955 682815725 742890691 967082280 530297002 230799150 666291927 826166525 743827264 513417134 386771971 965175391 692357010 828003284 399760933 357652934 254453104 307697924 689965057 614599328 637314546 346390925 959529464 691258674 921524076 436647117 319764550 654553721 934478571 170238536 494457143 669618443 538783493 289935049 360494621 820154878 691648543 890584427 805359187 908722943 683097086 549553008 751681936 112048721 909301638 562635691 561596932 492677136 232851635 616793735 882218230 745442488 777280239 241874364 562540205 209823272 301928044 986020998 933744483 817887363 164043982 452377734 910303756 511006442 842855158 862293037 402774087 828077345 205121303 354350116 880237345 437661212 635199331 872573092 280548313 277685607 563854243 983830254 710349403 840508882 789688245 653219936 828405003 720700749 177950663 178966384 846310260 523524978 764020555 817371518 973064850 445365810 381248565 534657024 386510800 732209292 189207220 817389061 408696123 840462004 128945119 935295156 893114706 220424057 764721323 377457385 962458774 209130827 518726987 702363996 864023901 621290307 385093199 528785609 100295917 218285038 928044821 487262019 258616161 393781934 885221380 677281666 398130731 592767910 402453536 412356366 506454761 675002069 241300731 329066631 596146296 203152637 972776234 292598551 782102832 616105817 183838805 628982513 819742676 385910839 310246569 661226432 721650015 253187353 157660937 602535306 704153916 674589367 884067718 439628977 328971815 299814158 349242044 412191034 622719402 146643101 767152075 446325554 418989691 996846169 263594647 632550901 879753247 892059566 583141345 342674762 296584165 782915797 575124805 372610313 428093892 653512105 383463843 981370335 815863217 943615619 130002184 200548022 862616430 225749029 677576868 973191784 496039449 801666641 603132811 185155585 654795105 212535539 740195767 121190808 584484563 467332146 149619197 698239760 624166661 619229056 136167103 956209588 428664855 523416318 659699461 863381470 817263573 841886253 412345126 548801774 368061405 590002410 581120853 335206948 987490161 680073178 871116165 800851779 412407101 388214641 500685960 281169849 313138400 642940648 205831522 662027058 813791348 220860972 753754441 308823289 876253706 567404637 371771859 569066155 274249975 968318096 801864279 261257090 178462528 183857712 272587947 597560697 128166822 435711568 787544517 447130125 516266738 971369294 752662445 834272103 481338753 800329390 185095208 514310170 160850035 328184271 621502294 601526895 139517970 204239689 353052700 776091035 385803056 705058858 325176919 629343115 960566708 220238393 101212950 886799893 717282437 706087643 174155969 982815904 504546994 724308582 832931130 157767796 172097563 584080524 252877086 162823765 323568333 892402112 717987100 202411760 704504487 353472420 541631357 715977961 393356699 318194183 215448636 266898654 769918443 783724788 934033402 817897158 440988624 791753121 517468494 675805224 740617993 684235062 815066972 216550399 910810206 376441977 131823178 321371052 901135186 267828388 161584764 127723440 463273882 404733751 393479236 435053339 138445479 511902096 737396623 460334287 459127617 682341157 470067706 659133793 794940905 296842256 367555805 569511432 693465682 750258062 805610267 476446476 573910263 340632361 892693864 437624516 853463926 637074871 160111463 780720531 616961139 687785719 879527774 951755513 141368485 434398187 116058853 592048671 176612953 679641030 499181524 620816340 196227127 989897668 806835049 453687664 713301108 828619001 710763511 586007668 338233864 725098487 400000541 842687875 408156564 936576756 759032571 923777618 114764962 396180836 419876658 281111583 382118624 155420557 263937976 557224352 466594878 490156135 542182278 428108718 297564819 135972062 909430934 603063958 196977892 731188874 150713588 552552622 759436660 659795300 717674831 419807948 385092351 838058483 818489535 335260042 252033380 508787570 457615486 257384743 442279249 840281933 767198058 570274286 994426032 156083233 259334558 345277218 738155563 309061641 153847029 374655661 968516702 557877488 203637824 252261958 820868993 509198972 233394858 900640588 540901159 603685186 415329942 190976478 953391361 189910844 457056306 508138721 257949678 211675374 725697749 608087789 159650062 170390059 695923414 757303585 318110482 637487746 455539081 272769138 814560568 145501876 934694007 222107369 293118208 334224998 989319290 861773308 472485590 584412334 970945793 380503271 893570947 111968512 570880508 743993796 784107791 801797545 652028091 869984903 994749554 599165711 326065930 614753345 343814196 596184332 986434250 217207752 623202949 451571241 228089765 674225157 536706455 743612321 777328650 964807102 603295570 315783879 231440510 754482956 666771066 875615716 417369567 923981786 138251425 642929271 692580749 638055598 870247874 885478940 361901262 351595780 833054987 384067202 716749865 996820228 857802372 779941707 920437665 918117753 281415406 801987484 680055348 404579332 124642135 303808037 120641353 191793996 545809681 557705851 457018886 798841402 522781047 839242125 701541833 601068427 371938500 819476104 873570256 318595688 842933556 677780172 633490314 178236017 762159795 650019475 413000158 551006041 807375690 203173133 697157718 213392594 121836637 611479291 663044762 479787913 817647370 964914871 889325739 517737721 106295843 921492371 667712398 455705798 204607718 297714258 872984330 515255611 843829501 933157963 828166078 980043572 741440075 704605113 361617133 901034021 341246500 776081195 589950790 456419444 619668801 557849405 307039839 532397179 812814324 785672681 491856602 273026775 482266551 348990501 523788666 646644056 999230499 171355366 699057299 743984374 474800127 222618519 240380503 560300040 641901307 116833858 987973476 673025250 453062745 211453117 916101379 448733479 848854216 245923476 528772256 326698569 809066044 755676666 297543063 209039175 430093948 524640616 866691365 242107828 391545813 366340989 237521154 101210145 520310487 812992891 795449832 323155388 445703310 947600926 417698533 204680489 141756885 795983752 198221115 732994931 949028642 858177608 803827438 254882646 104625487 218914857 158393286 833729596 519789940 271650196 263943419 126426761 939427127 565363767 362986766 274523641 515214172 356412189 688894083 629546282 140726258 381408969 106613732 467774416 438360197 147234652 561603874 728957386 337494214 166859895 275511509 504911626 553932897 288561937 476330207 496765958 652900087 171511804 712545132 404774771 514285845 807963486 106163811 274498683 568640146 799529515 432673426 813339327 228390650 981637812 311364713 765553126 981151869 667722470 707150095 724857187 370659092 105347799 672215845 136219855 224202387 644244924 610014641 751291136 830398077 984367412 966249609 883811537 829406825 637321717 693991797 333747886 270444003 282928457 737053222 272550313 243323901 290380281 882420239 562701723 837443271 177570528 527911744 529031388 485582576 514674690 355398227 745370685 882907977 609016490 824661744 910778693 111731565 779936922 619665599 947035798 184188335 194298082 101151638 697348533 106497029 282996158 633852521 112845025 438585395 349141264 333358154 687328276 659251842 277315768 968277959 622217312 186318498 956069216 420023604 490742365 815383616 963641121 578482788 678746313 906954221 385116991 407063244 201870480 854960636 969796949 876041850 185961942 858584807 941829177 998518659 972779366 200923764 190556373 772132693 164399766 882875097 318457204 744827566 139732138 987524243 187359174 728181301 904106207 581297170 191107917 516521074 322118471 335570897 301668676 728896452 446311537 568174731 818756127 557948942 166803534 472572437 374988626 986102091 449263539 458428030 739899488 662094632 864151209 395014820 230908848 794160982 383305579 727893315 352238457 394408329 947246864 977531812 575814122 389412463 586607835 972088332 561022199 597048305 478498383 344160800 850373146 465617405 435775625 774699068 111057300 383661027 164378043 450533853 189490229 864084143 974056179 333324868 760334861 290072183 889896710 166960457 360165880 540213441 361560131 450725234 132825933 218272647 561666474 264854475 374484359 170081246 111730328 130088227 575504990 819300375 198537918 433215269 707494823 752954531 152152770 567071656 382941672 661641938 523267617 969833400 599218258 150573103 965233736 244707113 445032413 326492854 269864246 152696959 119150403 754770567 478359742 733013645 468957198 902965993 918560062 401766216 609123369 365632014 526213107 875594250 426715808 198830665 792029001 665486835 141654392 985856214 483630962 383513914 977105492 808240177 948159867 689004750 118240205 963819511 174526655 666414721 243663233 451958355 762572626 642068473 802552172 128615849 846675885 957732110 766412592 752077958 189267856 705368093 492643678 158111045 673517323 788637855 972085285 344065646 516048347 972693524 541318952 141083464 957877231 828891575 572969760 191336146 900581056 469586129 262270026 925741566 146385031 552203314 130615543 840090965 289421400 234852139 758405149 341957059 582492578 998367906 361728050 728871799 121504377 948235671 947150278 261586092 677427797 501695788 493211610 957767611 951984788 311584153 203599970 930436789 200496118 888824002 359287039 149300780 170910783 784156790 422764893 309789978 766114398 480895559 581102340 728086508 535514050 391276149 438692244 174327691 919562607 683220744 824661498 928337398 182015316 568568571 419658453 297287841 644458283 877150780 247643090 162011471 276583183 675033175 690729195 352278708 840658436 217679281 359882762 835718993 898365241 556168295 465656264 120830089 490211787 789762774 246595699 429360283 498682444 500388481 824811975 905068901 640661444 577552160 477533768 731465610 754541333 279389339 416570308 993286203 748655965 119828816 625020069 630292645 762655388 709745655 623440429 835897769 455187845 398803642 565551478 212835361 263968455 892418303 306649196 905023235 773544971 480140868 754618061 390204470 434878166 204585693 555198361 342258711 324540571 623070083 134126520 285886747 263546662 263999136 636768911 675555620 299880819 220710785 170240623 241120709 117550231 999012604 791325334 589101422 300079387 435171568 947077722 735059347 847665864 611613875 525777775 389751973 565662106 401964768 563219974 642668288 483557955 354086092 171843632 494477601 145361134 791084534 648116348 404613577 104657359 815444919 628603333 935077423 672424599 405524428 136847974 923324054 417990375 299443719 291581640 574400304 392292208 993414028 965000576 135377418 384165238 305938450 864836115 813704343 975101300 679964077 685208694 480996848 556091224 522119337 160261740 256721528 771598366 169941601 510508462 328926654 280456171 857488073 444316195 209189120 102760210 549362802 464076076 128671301 927962576 898908577 290898602 699617303 233480857 582025488 156268436 952672754 890957075 630833381 259786429 837705905 886656817 447798358 620117408 319992907 569309552 678804212 728961831 326735654 788360590 878366360 792966037 809641514 362319588 995339572 270285769 518894770 347154391 268713878 939953040 641121280 339412960 688148933 903363810 763049857 301027701 443441038 385467802 168913341 504374083 600690797 143948969 734470272 730371951 954471362 309078973 170629993 858673484 188485591 483160811 534741852 770304379 540830577 836004197 886294682 245140997 369202542 553113998 663733003 763592729 167477811 577144168 145137966 659115323 559430476 234119158 553418208 931163163 878784964 452057767 256253114 154108513 764263254 904847415 521186004 332454800 868197989 405953749 132916891 419986086 239797727 716600445 605892535 446216081 781867863 539237759 348629436 373589373 384050866 953552252 696317205 875627606 813449522 788498483 344656467 755125343 571919863 134060356 317436730 498730151 693029475 626850086 885925161 191583909 499630365 529284489 798867988 775031451 253448001 730202487 111844495 753204881 170165611 558571842 555872268 925008579 406546146 382426503 951836507 487116412 485303429 613676736 743946476 512739499 189440733 343863987 853529662 371289591 448435110 296896459 448593696 484757283 539147886 684434643 538113047 776816046 273684592 121405587 994184027 812935856 691812467 217955378 969539731 371581472 811792115 568809036 805302703 713805876 452897138 573559877 634225353 798919992 363367122 694890397 354850919 667250855 546078912 976656173 841935910 734818497 501287197 578271012 891154122 229158415 265174700 396643326 461996837 752527956 487873864 185381032 679124280 771446490 289271149 889911022 710944096 623341792 942425959 802742956 583508244 765273253 634782160 635399542 697585302 283967494 168092860 269158811 562441953 560299826 545142074 772870381 202864709 802615619 127827897 377274569 869550607 606415055 776211430 642090153 884521354 129109503 375670840 308966974 366286284 123540804 252113982 914471734 459274400 532646000 231420914 770717147 638614512 499532007 955163005 884109735 724507432 946314460 985777354 681449395 994327791 407993836 368642743 581857298 889185223 838681790 413084061 629199738 436300151 628253578 525677994 196181818 659551052 782316567 173551131 320575216 428516966 873259983 428334352 644620536 763034691 942602120 553650793 269914139 503330534 754244121 454826201 742265402 966433441 780439836 469919815 368032199 260624226 391689801 274129530 591439747 639421373 805711338 322174097 170054209 712186645 548420827 639711898 239455266 669227888 612340834 831183009 157009747 129875513 315963906 926566755 809351365 919049568 220548082 176279208 746702521 984943799 368920356 316314689 651132134 176147708 431952531 858557456 417017762 736980846 272618035 971573990 120835540 887378633 463829625 845204779 549796035 887259286 320793188 287463068 380162176 840651749 872808304 806842935 192995347 548783569 600362525 557829481 625355077 328422788 783212728 146308468 311087497 153134643 509015656 759947315 729794401 569038617 817040980 302644511 216926213 173848377 257434545 651230464 693396589 360278401 879665073 946250078 994568473 669977422 732070243 109799504 586667008 233243263 907063223 669540705 808088392 289206670 758125673 768834171 618296520 797062057 944260362 925398228 269587940 738933663 844855132 874116603 806463256 362624164 926994174 810928966 113295484 767061795 534599791 587587843 673822553 259014266 421955356 328450861 210596071 875012206 855577372 314039427 312686513 518992712 149625355 333870917 923615847 697569175 810482585 214750467 886828464 997396584 729413773 548420686 449026139 302333199 994280906 875630403 343478679 236987556 393394497 824451681 966589596 429501027 757406782 292043549 651691610 882652486 667166111 863965962 684026167 610751744 529702680 357989296 730513507 417871730 553511575 761788725 607192721 747247633 401384524 468078268 806392868 428667629 155719573 640327111 891798201 253376437 422911489 696616641 703120004 523903684 620933651 195172176 415740935 217582242 168293576 444019692 264302207 432649232 510544648 685437975 307333485 807813312 900907948 809097590 838403737 102519530 265803352 745931653 698769921 450802401 518376699 655357692 695612499 398749465 836256395 338747837 949018651 965512164 990718275 486329196 952449998 369275557 845616555 551128584 324468606 143529626 853953317 835849831 457794804 450969299 874493188 387649435 958205077 465084277 799787872 461066765 233711923 183300084 273896627 483854122 227594800 787110372 555230905 185822756 202616381 213533109 438443665 572077021 484753196 576104135 983207392 250380587 970966348 608265725 120658877 798325609 331623933 246434809 782466659 403545725 986309983 761111705 361885088 976726093 472065021 452998714 281326498 551820150 365268232 728391253 218675941 299709583 511094620 251203227 948741299 447023963 895868732 507173012 143006538 959564119 966785637 328879028 453789218 895187201 666336879 770372066 132527909 722747454 423121246 706906330 605707038 957312205 361465379 971348830 768645062 176476396 171358510 442202007 532077935 811612202 344497792 504373301 420284069 363474641 425716996 450378194 325056354 183881113 527609054 663291059 331377859 878606991 993359143 356583159 610768928 926491422 183575576 218504519 653789830 270114110 342326494 105309129 947249082 868122612 752716352 976593421 639819926 557813341 471027325 930411615 347929939 477864051 195419487 491634729 343524605 971920626 239562422 701708362 792283319 952420205 354151092 614201282 418673820 193460246 432790360 821529076 152305606 437244500 150624648 285082851 771593682 708358838 240654635 374020659 784194145 525774896 191466478 498069250 142623379 614448803 371739227 685453568 890131812 137415330 862733615 112894520 152347940 617438571 248300530 251837078 423251699 156186898 158235532 123332095 669013985 933796316 616838459 775366928 630616936 761139086 923585233 750271994 126999906 616723636 781822471 411855896 874237325 284756490 257854622 728615764 565146106 413271944 152543502 721724091 575501092 399573519 419934986 639368273 815265616 796175184 126453544 571312292 688451439 733732476 133651104 913544187 568830680 161397277 908658754 653887787 281833546 532574030 725687367 643577081 292212013 700941503 407095275 465416633 248007307 256049476 194958274 920407633 270372783 717338781 928898826 195177201 312248557 270086548 979301949 768514475 151949580 372551345 364038778 777556924 184916507 921393405 620030379 807290234 936707416 208426828 367078568 280986330 670045435 932876014 679001952 220077932 483638501 578025425 730299937 415598438 850405787 122727143 549837359 808926010 912368000 999020777 941022330 227458391 590633802 437012082 288042710 424342199 949160849 802146802 919054649 577252108 566408567 843055489 380060483 205331945 933918082 312301834 744397713 909207428 405189538 540925177 930967629 109418820 247565930 693828322 970497645 434879465 340734529 992223718 974163970 343694271 460823237 105256929 498720702 693481838 137718525 885777520 787131547 460769814 390349283 249721733 126205110 523333961 689776365 203578583 235104620 879227714 962298604 498532455 937467574 106233017 341729712 740218138 939605802 410594391 671740947 803525563 132625147 346762513 369712653 257674191 785424441 114626954 663362899 554778513 356597349 308056931 642524833 375333257 729864153 624702867 188958564 166358176 433838651 186192672 954855420 206478797 944690976 888409966 509987661 417217707 383213404 376500420 717822835 477280844 169779198 212599909 638469416 885721592 436337284 178757360 283433841 136665320 901674981 989699565 986015141 903011764 462336817 135874512 624783580 241245911 722142405 576868606 866873160 759011231 581750240 940793466 655832692 109369737 281669673 736241295 370254902 350223405 272483602 656552068 312589424 177217625 157549836 954813951 110962841 296189506 588861015 613658762 620165052 277465565 994579687 384690534 277796087 994734479 939699174 122324710 996147366 580337610 572849990 530456553 104023982 522705511 145808059 587521162 787397207 404791729 605565910 347556378 403542348 960874499 150954103 588981758 299175308 380468678 397098391 873161584 816705814 961774796 548340686 835971556 843020087 705940142 557116944 304403841 940273855 231256894 880995744 996172281 359484527 102204945 804944480 738203962 492398045 762791122 976220017 222678501 295755325 635740790 265178646 316608917 529926508 426368607 519082101 102713691 435771302 760637312 497294936 381453625 469857116 731479891 935850658 605320339 815801744 357393406 376022041 905000575 334792115 714592256 342050275 422406638 967813940 484110903 288932972 739998743 516289268 848096667 146466946 574778226 919705551 185837036 678169000 317886285 372132013 499811975 807021165 833767629 428390896 511269749 376782376 178768054 698808483 869165339 460380260 336524147 992237738 221106215 199842975 897991738 609771608 785167678 438182845 337867964 459276864 686349635 639492780 830560323 957837777 720742125 569437441 642467463 867920414 154896760 899156222 458362950 762365622 839179687 110629644 578096193 252435589 993906055 422924863 964538326 497579399 816279173 387785612 378066274 418610411 284621415 628858870 219603375 946715463 334595905 877575970 294857544 705180609 283931070 247844007 234960627 882285980 274904297 393279451 993689494 869360461 832046489 126847308 424746639 721007713 117821967 550461944 663502836 682998130 965570499 830229391 690126097 806180123 351230477 397971676 444120053 165632012 942226518 824600012 299468360 963450239 166648358 833198031 425757570 449653680 726935297 394670921 556900338 696322140 119334452 765207171 607438284 666103160 815863201 453105210 725638905 140937765 656079438 228356648 727992088 527219498 976844796 274419766 164947189 930984505 126506321 506172016 130625319 130248678 490391998 913285006 787352164 871022395 359250910 618808743 897532624 544492678 288398361 997942054 976738395 549537639 120069084 287018917 752340526 966411913 185587031 494138924 140360692 438684629 644609341 922859315 562693831 682133376 614007705 943170466 315454711 428923169 606013136 700726249 914740259 957100902 895166577 358210489 680380411 976113596 395610086 315139307 918988830 446554930 695296121 911936005 354024983 543169692 999002248 205691573 517241684 676723560 821234054 912030473 163391091 544610438 318263314 739198502 772737735 169777648 751841326 158928312 458691078 334468422 130810501 482212447 628655350 727507568 498883493 856953018 508255805 632178246 777361648 592816272 380903445 777042694 277533113 309087952 891405144 750963221 855639753 348318739 975792981 485362545 206207793 790116308 680357295 101732941 728637645 242692042 654303426 343786568 429043429 894198800 603910494 707395920 180889838 530694612 689690357 331325576 506107233 978457765 135771023 240656236 793303440 175350040 855973114 666191021 233052304 343060257 275933524 699995500 951399104 620492401 858124835 548785143 811357329 968886183 737287500 634952857 491961769 818062250 121369031 707125935 985586229 348247663 601693660 975693428 454903257 371543140 441534332 579196064 474892275 779268173 783604006 821891910 960085203 747310009 754767816 151710560 532255812 485222533 285994178 412871430 930914799 348551986 369313741 829927188 253397486 345325544 101852138 312269557 914353297 781508799 454843286 969838079 692385444 728638149 553357477 996042931 641181938 509032729 897162548 751518667 375188586 320833214 759125750 779915290 891667652 514281213 237745389 520720909 619546166 127956491 189975968 800891793 278420208 793513049 300214316 542984076 871656047 372859208 663638754 296632107 565318948 246159716 930893468 345443640 925789390 788397142 539490035 495626324 511836871 788233204 903660651 744823646 154111107 297381861 420633234 231098530 964072765 898174904 511117748 851209603 773178899 878972985 507072252 997008823 530190015 829371008 606767575 737501763 220520340 783479610 474813506 536148644 660747061 169921593 320476647 533123868 343844468 841678335 882486538 800410423 937591723 482110484 146836140 396685668 890515092 822208362 632594532 786789780 602318671 477026932 312499301 651310435 677710612 840556372 548595647 103251203 494867406 936450108 465024282 301271079 733464009 691620122 665943069 133790052 384080584 531722234 926530488 674963796 130560570 223813707 985553982 644001884 844653756 659652675 731113231 221304280 274161159 632661357 229056005 253674743 159819181 642801165 562581863 876325146 301327379 186028916 351613319 192657658 571665458 216936971 824840802 753381076 481744542 785638166 912268565 951594412 134430026 966917769 900182013 479221932 898820015 109254879 911869732 102167481 885355387 292276149 505100879 746761301 879318412 597385724 374745856 594655694 212352224 752733191 393799256 348973969 839199625 923547629 714125971 214439421 755246801 745590205 168832087 137774159 620954228 385945251 594372955 704331654 372560595 847841771 176458499 652759298 970420294 400717788 817827251 395830594 450456968 207302402 777919166 201754107 963334076 146125829 790874674 623077252 801404697 145669508 217172404 597373876 448548007 394600858 837565990 635072438 312837605 118224716 336974339 873660082 141653125 848556362 116505569 738195060 843015874 552961440 324522655 355331085 209151828 694419263 488757041 251203916 364602476 164095816 471455401 456405837 736306983 381972651 107276632 231031471 974637835 714367792 138907670 921032403 699031860 942488443 906921418 480689642 771631440 671022515 147951361 571956430 597269076 157623228 162943014 919782622 472432900 708644941 596580278 578512644 150818405 899068553 952014100 950458011 247469488 162972381 577877383 660528317 201542899 643740970 472008849 686238639 668013837 786158223 371433262 111350077 303885427 774763613 839890824 632429889 926548404 261967794 564467774 624861217 722156743 671722558 984116611 871350885 626168569 369109243 516520367 541876820 421665697 681322474 944097668 582514833 811503065 213927061 318025282 203360542 869796153 643030632 704595649 819364454 523752716 411167609 810462133 114959223 500951455 380560330 940219710 645146590 672207127 574233889 184327057 207544643 990142764 735317586 848766311 178824078 730298356 933849640 997002517 440897964 581122140 840962451 271033922 391438091 809170152 704931442 665974134 530597709 943916271 291724177 616895896 451823319 891863521 558428247 365432985 643712080 850068363 722882047 212352658 486194288 378109966 801547989 806193662 730868716 683360771 287439657 420728952 673589523 227793830 478363563 968430752 817893670 469320638 573448646 309998447 666385375 106632989 277595171 836518906 857211293 873800169 598714381 142708240 609084788 108565751 809960470 707479990 378730164 639716267 759382358 758584216 922039684 560948735 524413706 116364573 115637266 567097232 355773470 648698826 355909662 162914730 489333259 260363070 398760299 402167385 589665144 261911701 127128837 383331455 568676041 344616548 506510273 501880188 138112435 313648846 334204450 778792819 896793778 762267146 743960873 139836011 432752400 538656025 959603741 882675254 944322982 175487982 458834309 284139407 557928251 602305359 432248815 508392783 183005991 549889885 847990869 848333585 399331148 585258594 790423167 374634491 251338192 352958796 577694270 688983099 902959308 604680491 444845369 958919931 572891122 357231762 840450530 375102964 340348695 690591340 368273225 812292764 122748832 978170457 765611541 245168214 183079904 190966876 643690482 355205890 498912489 921710165 949978718 133187124 806031515 571946137 700892711 176105754 531994563 902321035 880231462 495495989 705209572 893689608 183240490 198556986 284120805 616697011 347065384 386331562 843508827 680952983 967739753 880910299 639417742 886614007 726794670 104554739 243740828 362361636 873372624 319182220 199596214 971143442 832636585 178653988 653774970 848172248 376442886 446242777 156363562 697118576 400585989 739799201 611213279 953135486 354285794 100391116 809983661 256787471 476420015 741256261 500425793 677207506 387141639 659457946 982078384 721245237 509783525 417702840 291805293 308461655 865665270 400228742 683359580 774720266 975066382 209428116 314237421 427398055 410807782 320735977 890387669 172985334 584367435 440273623 467689066 636791713 793677323 184488095 254339801 898017495 657423720 558805760 553753458 914705285 141734468 154828610 810532952 575701472 413173029 301398132 924575994 124146342 322337824 584252006 436321151 687712608 363375369 266843545 124080479 827894219 817481671 499006623 291787373 418007963 708817167 113269057 961643333 654296394 204102969 807801151 671965621 322600102 258634985 870283102 858376138 325230207 216847088 198008098 815860235 522630095 867369328 641926569 474542813 149989810 260895279 190320411 316445513 441888709 509137581 917838793 763232421 187729749 399315844 108864991 895286256 547992260 542449296 206947455 861790880 358719319 442684615 581975438 361658224 548253578 452578398 753256420 651260901 974886581 848382325 823217392 680140472 298029533 264773450 127505375 518441233 146421529 383581125 351351089 635868788 787234794 724614603 737807012 241053893 323028902 366039395 184462812 606950791 146725065 401712663 502005802 991294019 128423086 642897519 145938455 585005196 633980723 552295884 631520806 569511138 633359378 252516251 438190097 574837028 433037857 931304258 554500257 224391746 663256571 853189370 320938434 411179431 469130194 143594680 552511152 197504233 992560845 532572405 458492657 461596849 168781908 829560076 229972334 223063103 873658037 959373098 510868915 808713064 705405095 839608930 714847495 573677296 659473210 930636211 575773482 574401145 854098134 547342407 895434703 409805456 124271081 802778018 966007771 869804235 802266169 707405150 907737345 868350615 944728571 479984371 175818233 196172946 129389750 153312850 397613066 875380998 171128143 792096517 907174720 839677744 472616529 540828427 358612003 682909426 630917138 146335314 452239153 424385307 996993872 518427572 109136836 994758750 980531331 907174609 981431108 967715185 960640956 640008271 240680074 330148837 671366926 614227335 486023178 391996561 705655239 988842480 338178777 700968334 529875390 422723432 579860978 349083527 556610443 120891003 500411964 781967236 444175535 489639906 950604874 745431469 661271097 325672434 409951273 455592428 994520295 928744384 105189316 273306942 265374161 229806680 277513638 680201206 559315332 203832123 235009155 436592066 657449435 559177091 948155151 126799294 241392678 712411486 151808668 237320380 142811211 428046882 335619114 204421531 951940633 944664872 633678288 504039443 330409586 249962958 306879670 192281438 212494475 994754264 520544798 675864014 602243044 218634787 679963167 985367472 746593497 129401781 745478379 658516649 840280869 336766076 952504819 351330932 658228647 282328361 623349640 940230290 661391370 769067942 980363233 138938033 553803689 329880118 346307023 764227190 196874407 585519409 705366517 286240984 819894126 457036573 733597007 242273834 223868791 565012785 112230936 974465808 650711957 814274257 695334950 937247146 215710587 928758947 362374057 485843475 944926303 869220753 744130791 887888784 645855129 863175268 948985489 749609141 915814897 773076790 289263808 297080976 112832803 888157105 858882785 175483484 338935676 182172960 389073343 514602798 876115666 138520157 900387332 573088694 976754264 822863022 467244886 674858938 501033564 458705912 859639949 674554995 305475028 540048321 582420757 502642592 721466769 684296436 448044356 274550015 432458196 669486384 490950919 373503062 411375589 867514039 766405244 346550581 174682775 751868680 406752664 465329440 519681880 517175584 146592379 903414283 806152091 822341734 146719406 950480925 326988973 573269619 546929339 490595281 610565573 851382812 821034570 619154030 911883052 582895464 566588894 259427110 141627363 610250033 203317494 212920461 599873385 950060361 133339300 920084916 116146892 237212663 763551732 879750284 785591931 716313172 487284157 789929098 318385644 837968669 600768147 349335077 461075496 954094547 471324597 214656279 962271869 236977105 697170327 996012250 597035964 650639116 365481353 304801950 679567268 536984810 724716796 467070274 185028162 768571478 733320453 522281893 238965349 534729655 566003417 625584911 589377085 579727095 292329634 904982675 424703751 986431864 378360126 701267554 892004533 281879393 500272362 761987936 795316749 829557693 782786831 502826859 801436161 163183410 503725146 598556594 621462397 426161190 801681955 917178806 572087914 319378597 266382619 664603037 309156942 887137216 803626794 113671586 905218642 289619552 721633687 230318942 238571963 344791778 429688034 775761849 984835779 456410534 227912976 602136042 336371663 980491341 188861894 774101697 676969340 315369914 693661557 179538100 201875380 187007514 318832461 539195456 659253056 440950683 766602354 267555685 576937112 256250842 321854227 835752062 141723485 532132969 163825377 753783678 613798616 348148583 886148959 161457817 237889208 709481592 206797920 306418308 883988997 434758654 172458056 274196762 401614506 393105428 936636893 764125557 106865167 367597671 358764226 220276947 865984282 238571065 102807029 386526446 372686346 992964988 778056506 302758163 985045373 230882105 622336985 377774286 462178667 620978175 355171367 268198378 307612338 117139667 442951272 435187762 367452893 427735399 659210356 365197048 246693330 148470556 665379262 573819856 624693859 163269872 744284011 375972316 306452403 250575785 430410378 767758003 776804361 713190040 841634316 714317384 570076664 867219314 243997437 465548106 942395733 903892651 246315935 922849225 509306694 628905598 740783911 951559767 680690970 969028922 599239238 441229329 139633215 859954582 710310872 752571034 518917114 316855903 848698628 660948200 235698849 873756436 784809766 206756501 154737612 879522780 613190393 800170817 229705389 669198504 108619526 887278837 862595239 876390809 618430469 423573975 945924714 242413543 965204206 120642188 561982198 192440557 264025895 833560807 623429429 933553301 691902492 291990365 783397460 262777749 369448188 267522897 113369492 154035822 920401796 510404131 952445918 481866666 753337357 657481642 406717539 174380261 529675275 734966029 670810975 980209930 246461292 969879269 396729940 881478431 433827445 681099391 565475269 438599507 709735564 902653377 717407321 185889253 162171605 994797804 506055516 963331530 808925282 713506297 966175825 592089364 336553526 172465489 852763361 558538236 842580420 537242668 117426022 545261403 502795759 404923034 502106400 902119379 219760980 227681567 996869917 811822934 117446844 460206763 769989659 613788098 347726760 118824961 843833180 162685876 826130062 724094551 793238159 948854488 374097489 659761712 390787394 148769481 710759638 501574270 927848721 647140032 926326413 314535585 554233779 283554877 242501163 203347315 718602042 794141040 794527861 207024311 986500935 683467066 503948074 284196481 522615936 597489290 766365726 855506338 769648681 223888584 114681040 145100273 692481839 152529022 832889255 522483116 439877133 894918312 244018249 602974893 553660694 509873987 548876719 244293366 270219290 758816090 193470790 795957111 171786989 849032019 491010672 876368745 403180861 385236933 411223370 114645429 580844427 628276848 158519479 240432451 617534722 800122398 877771804 111610860 647803234 805183236 959924505 706581337 371610214 530310830 894813812 223508675 354244270 647184540 647283491 105193414 449125759 603417691 806054883 629762941 158370660 194892639 127297134 782196759 585250625 238307132 964183343 554514487 915078127 884996743 560469236 827942684 902685224 290533470 339016565 844588615 491440592 374301958 443684497 620338976 244552249 724981539 751557831 619459896 783731498 177428236 842980566 655070566 732209143 623600599 495216700 436961005 574108255 946211836 132442460 986563899 663024477 908070158 316633433 176848717 100783678 259515418 429381144 546718846 335285449 474401226 992402049 800767367 451948644 637593388 861343621 963053335 842720831 787014775 917724567 185618117 862419182 689199130 463657236 548820966 547893601 178624429 655202943 567218994 120051675 697748915 272093865 495565068 578472164 660072151 640351990 828438970 271358808 325081262 185673024 570506061 498373198 345311917 296068957 392706896 664868218 309933847 453353319 513702063 673248243 889876341 161882735 394031058 818480550 770222402 313178943 449623762 599084095 886059578 814179348 457443593 676855219 248037725 320908513 810882598 500092836 266500197 281746796 707746090 160305614 527723810 890135709 183326560 293754769 160000575 855399309 651262272 943214518 865781616 237813319 439542644 825935738 942581495 710142108 510723312 386813131 470947730 601525611 480970877 668860846 839996759 386507767 810186397 874273003 959142524 664593881 599339343 645252243 775636813 838212705 370940202 195185394 970816402 135523796 806762923 829582174 375279080 163716302 880041508 674627995 528891867 748624036 844067483 772817603 747572238 123726431 653000661 350401030 790426736 982237896 926997553 160020383 240399563 604972731 544006812 255748643 904222616 284669311 228522897 201291905 752849969 386870104 624097326 904114085 784066366 112032184 333773067 111912879 164304176 838076423 438077793 816998743 885490817 806043325 149614122 776939455 735683773 165807605 492650057 119758195 599572615 314453129 757447227 710109191 526062731 717150345 867670992 912234832 505156542 215561392 160399174 128084880 952802096 807419487 525031670 845394942 490601864 908979675 791651333 414910703 632548990 689062491 702451215 584825712 592918934 177724237 946146059 798157577 182934393 204314198 907385506 337859181 967371314 473286669 758170896 632167305 705866058 306843207 833169758 256122192 615407741 739458373 228024013 625265038 194089670 263207860 659568402 253172583 813191885 259328945 623892375 299569947 473229636 486045788 660200673 727742131 618794351 127561546 181173853 559277860 472556853 230295266 842583816 168123305 658528726 225763411 984010045 273100119 794110356 287694784 428945305 847271632 287118749 817416265 616336820 154187424 321037414 599269165 589496044 192578611 505655236 263125010 705480180 418319530 207337219 937393929 592700457 457585286 380678064 983341601 939934763 235931288 471554010 713056815 952692506 404350685 307353933 563707652 296706412 432389792 509951093 837444267 890646608 482867054 531468346 321066236 850140160 598922271 217119643 190117950 552522883 850430129 748189396 625358462 975151111 813266890 215757633 668552914 115621060 460670997 787515529 684386295 620664613 968456149 383391015 293711470 984997737 754876247 212751375 894046501 608822566 376652567 908051043 547349631 746684056 597835272 124924358 325315784 741942623 992521838 366305572 184985537 779961063 873697838 494802854 360098821 995251064 174305174 520435574 973161819 195879690 831376013 848379372 308115529 855765341 854151200 905146358 953888541 523409908 626893324 514382278 792556808 872050810 352114917 943987522 221939762 451116550 391928527 948644248 815618810 352397188 283773361 188989189 259543325 962180259 277957712 279336111 248461186 754905328 221810127 264920076 807856990 910529357 446528495 715014060 597587774 809585376 555605078 651210355 267819460 816799739 780760819 937257686 507786798 562221159 409685171 692461931 956355588 842680246 597570477 700586346 364475600 131210027 959635744 966903039 413843732 296936917 850280737 526938833 679547933 943870803 810867383 934687123 123560674 537819606 712885984 456452711 781827263 131784289 140244688 213091226 548162503 721958130 527523564 388479608 634584444 421866977 483680598 909952491 720178340 980851623 918206684 879478586 421980764 676376304 899172576 492244859 672890687 881194036 318149138 209314870 615448919 549847425 145789621 424488419 982416903 480407761 804672903 312076078 792096587 806642827 922036845 868741688 424831154 242446562 170399552 687462165 741980078 464260715 346369056 820826161 855350417 756029046 456615162 998831099 185711111 737482335 230114713 584804144 938039010 671417175 970099277 324002305 611226628 249806195 930840803 575351520 964642802 777276721 296409291 555338216 352055060 369996027 237845010 601377123 212950515 633950313 391508644 365804082 239027029 210121116 171947345 705504320 707675714 880229392 172561987 696894214 280858766 739363031 202197903 993416721 247275799 568460168 311917435 805050333 326036479 353420705 523911920 192327742 441650003 762723541 986453251 353060724 893205597 307767285 581343708 106801327 598619744 892729703 704151450 887793819 439115764 247457648 623656795 867646411 284029914 947291928 376708598 480141075 499473910 942665211 566134387 529391990 857641789 973177833 620233482 865069492 618674659 766477110 702315930 158983784 803475687 400686264 807321154 284967115 798556135 695786820 806539666 205989416 748709511 890066501 398827479 787888706 735852498 841212797 839095011 606391770 954390807 803372043 256070304 305684409 124035537 768330767 655912879 806749277 383757886 955487316 228885478 288155393 681583780 581977711 794808148 561008067 602810798 791404566 734957693 708359160 432815238 610292509 589604279 631556496 891663802 937829825 771176198 653613430 976712526 631411950 830850196 465690629 326901218 406042054 732245740 781742959 939906632 856258619 998792147 891469430 185351291 718045367 868617770 496276773 565117067 394703745 829528532 686707290 713453068 149937892 616809243 272269142 480195090 542235417 821503614 289941423 223367726 982588809 170650208 690957236 710579315 664515918 162950039 889546457 527013980 757555138 843859181 649708852 796134744 954808829 653786507 362687733 793715773 145528261 413111868 876701950 807614378 110969903 716798057 999459968 751826715 434957791 181542798 734464152 114940823 892233614 202027976 366426929 939102131 286725528 390849661 137917550 682775847 213702494 814266224 570521236 172205460 159262819 854014021 303919143 555513806 343886195 725112731 366251982 132986845 211047910 872187608 163180221 102305738 336022723 106400183 266131042 164151818 218303700 151572317 959674479 929095530 273232890 976990060 581941260 786329807 989973731 432567320 438760043 147302701 990814387 148351214 845311539 678185430 862731547 152516520 790445326 507712647 277149135 190260714 468128165 522541571 851321560 407188881 841990314 522803546 854325088 399370929 811672776 599116833 330075964 255532176 157554471 529717651 398526509 686134406 767056331 524568163 936651860 454587549 965349481 918054913 612760874 853635451 974652611 431332405 811816577 125345808 470257892 709997628 994202138 670801033 170728729 807989750 323863882 761791437 697067087 816272717 856490056 699521392 556878547 747752725 198344770 845808794 435167662 598044813 523951358 146078826 851363297 435536079 804251020 901053519 580518643 826049656 341006963 835296325 794326298 837166037 880859116 554123112 265311078 398459791 401963249 746460555 783417245 738759579 414730615 506481808 532772120 531300573 420391088 777932591 840409812 696700897 846947933 140860929 982242845 317356353 542464936 374540224 103344813 752381433 250449438 791801626 253640229 130309381 918881868 972554351 576037367 582268138 666083725 690265069 806958698 762486562 319053631 741853845 708568350 138247450 137973169 340271917 474030827 478116222 850062653 474877138 329008667 953814917 966221809 358675167 607735360 289497798 280975069 201992357 382143971 426811772 223847784 995095145 196454558 917728849 691286724 717154246 592793326 906815553 151713518 571928766 691754899 110146136 111798604 892509880 859367652 417835127 292606285 292538655 553048347 204886167 504859343 837149688 163962124 815700845 268159730 776085696 234799186 692213418 754305824 126913647 688327685 154868517 428459434 673767331 252652198 343051450 426932376 189343376 849933890 517277165 463284594 507027908 982197940 290430735 587464398 214504480 884276607 865590982 948444423 978995217 183457389 287825172 722532126 659147208 128298488 402658144 619536276 454918888 574201200 932801019 891020918 899903713 917933828 737822374 191806448 414140592 453106268 795785475 191926991 870593898 680734483 324820871 691221380 252571218 558601306 515624803 989548632 789891628 248733105 236326188 818239594 791187066 819592395 287288971 888621700 435746446 439748564 773515240 743185802 177252608 530461756 416811963 454815700 447909196 596235138 763379386 518895522 507847447 774433092 421529495 994422874 347253258 637523444 683623022 815811539 390744532 413701704 104782164 468508539 676669616 701125210 184864110 384228319 374495470 256527154 691765033 744464046 624618106 576477811 954711997 870154484 912271355 291192794 660142247 956068161 563023610 952266583 103384695 271205101 633077636 143448522 587785566 765614464 990446410 761296252 799007088 300557628 752063680 876988959 892198660 777877188 456982568 813781179 454517098 448514610 377299730 938572990 186408373 912015640 981351162 604550273 956337831 751393670 991061000 455370108 984098621 819351009 808860523 959999659 823368129 566027777 897617305 543400657 263022090 617205096 802480829 569379415 415775414 335381488 325482985 767051481 841042444 785702256 631162733 193511347 366541394 316600735 998058237 131497804 358250548 392519823 605843182 466430924 186465468 988256559 868780624 623774519 936828849 923976381 969817966 658989862 439914217 928293005 968943306 733973175 883213254 629715896 172688245 715328684 754642773 400505873 667652578 578299521 406460187 570213358 366757723 164483838 911368455 265622843 638300845 949154253 544954029 314217366 323544747 973570041 776528239 372808411 306867650 833122576 503458524 767300937 253998295 602861889 150688018 632548849 369590321 261725043 926318071 725876381 879261523 856013211 482715485 875532953 742120079 515934320 363202432 281659977 148758335 535328799 902005166 586417508 617512830 390819222 584966174 273275352 967527628 214310140 115335773 504050830 770089241 620518463 410521843 831259835 244750805 132384530 626030530 486981809 428578555 119629286 828797508 817845976 787735739 578662482 775537403 929315211 654100854 319801684 491138823 822154423 338663776 445582589 937723931 914527537 233537653 443861024 862864921 921033188 548838059 603032717 428053855 979384786 430779623 137004970 830616823 156463476 157471477 345189782 955185699 647857338 844206922 769578961 656962178 656544129 202425919 849299546 733689133 256198332 162991632 209077151 107566768 133776374 269753948 460333254 983075335 712180778 746815776 727591483 762921436 818450216 919636644 248152907 929525231 110009167 321799659 484196834 628721755 311109166 581905898 535896963 989846938 371342562 730797426 182898157 832828649 687035885 103689891 255612305 227358215 575508642 507047913 528251249 881066195 988930154 144836953 473227055 391244495 779137675 584601902 244026643 962916171 301319531 760551109 751665365 275708229 734515496 566287130 340175318 406009035 141017384 332292290 948455509 314821448 913674399 842806076 328722082 758171911 264157570 864863285 225262551 640479568 479862250 482148515 209190981 145157270 524192534 343964486 665857555 340424373 415741788 394558646 248104967 807106109 315310995 778695770 130974209 669801837 283887327 878665191 737962612 300795176 799384835 871434952 687175911 886095140 706943262 338943584 810301071 612463620 554399301 941052033 729177191 425819979 265674466 874260213 298196812 474925346 313194205 771780184 645651711 312603980 128285747 181547715 161218225 777909140 335818613 510194476 354915039 650814636 837357489 775087544 519379100 689715281 174034864 833028715 871727526 574853499 750398324 850477587 151002991 696329170 719333563 924849148 701758640 985073747 402326023 291705351 502517132 604231494 698566222 650486297 537832890 241209666 595891932 993420680 283315388 895658866 528239151 879418302 290022188 517165691 239735419 773244343 479768701 534039495 555431329 444108369 337001034 528709212 456761196 151211782 382945192 129037044 961312200 684351237 826422904 234838305 335230744 692521713 992591096 591823131 561313285 446711806 226760286 172417516 630234635 649224635 387782572 765053370 970474537 210748182 155855854 869887051 221963382 864025592 948222237 323863669 803885906 317903107 543914941 639783508 344634263 934651010 328789921 175377861 240644058 791334053 960770618 897977854 137525965 840036940 833115564 295905209 204289841 383784201 666121409 961641823 421464188 148676615 524307244 613691796 992730242 868130665 798433749 775006400 772323706 152037608 743892714 272097873 992059016 358532787 280757929 231546212 624072456 880150234 798064015 939224085 262756198 575192862 545431935 162986874 758506639 345353964 882910261 144557315 932464501 487625362 945883933 672454132 470387901 452697201 509074861 873025847 898815128 104824022 825077985 469142919 272542013 654807654 542699958 633842907 294952999 856140578 458969294 434584830 545875905 611051857 915074410 553556086 194545818 318544057 562188340 728058530 256664811 434892208 179487776 297861757 899964618 749422491 164881543 460628611 278962328 256031943 190780090 404076426 253611888 147045825 221938551 483108170 749966696 912278420 684421876 326368095 172746766 345047655 302415032 862276112 386812317 722851228 118403814 348930375 268640440 380520384 158641897 875196916 159014883 409971981 669142407 152446559 276722486 429638303 496940067 844067403 929392602 199982079 944753098 771074236 129989327 324413943 196250597 959945053 561721035 738717426 649813909 713186773 875537695 622192658 689288377 843117493 823346936 560738554 172104076 481389651 232323765 602886859 875414577 796055973 732914851 859677504 519859678 660597361 292864894 349775139 372802495 418943603 512231349 896977065 611429536 164798735 264075705 459452549 734568460 970364630 565533612 774850861 150700805 446165762 816460264 157991155 174758112 523086728 440449077 202021138 339579419 215302916 831216143 904242812 563407108 907139140 744565836 961950153 262196839 489810809 289435462 186669150 968386798 547479260 953526916 206829139 542804771 254885348 731264196 754119157 212825848 757528022 906168626 673522042 587691476 731748221 212482643 770960626 504529596 559291054 521245931 206124067 276649823 376887972 385741646 453940704 463326246 831823787 747134020 700658466 507252527 462486182 808527476 777451170 678125433 686531449 533206267 798158838 787400809 169449432 993699011 874726805 306897814 188161087 312622400 766097659 109248789 126144721 473449176 615317740 366209423 879687466 751998953 619520962 321635454 109510303 476709900 788419853 155517564 550861886 488097359 558205369 134088818 602282019 881989700 372753503 465239686 905915926 229699027 493627579 983262086 756633176 504198918 469493068 443371493 112407008 690035303 999378536 357437649 592316404 948635906 350598055 271844464 192556241 432614734 994712691 727201820 914762466 903231718 626212644 915432240 542141927 569449455 902751321 995257797 229194968 473510308 392069948 552554982 901545679 663134514 166242739 924271455 223142175 577803843 251084562 356228179 879739440 733089446 512420690 943994277 438881045 444886247 926498796 155783479 447046948 616922409 347862894 234996664 783801996 824109612 768354408 787520320 881965563 491854624 842039772 814316456 507163600 725060191 650175026 297589372 982732602 434905641 109825843 352796582 319852811 579397699 604926264 998455463 686748829 340052291 567587665 527096261 871714104 904188496 779662932 595997918 576777853 759239217 206869878 451963783 210512732 537785626 347515525 978304161 830929631 236606623 728096123 971194998 410807741 143168187 933063725 318193542 952752107 713882140 129836033 162482077 759769097 415036424 884089622 934030325 969416551 481983040 663525766 206459614 945297889 797374185 461161313 877440804 639802209 397664092 836428209 533188603 940595877 506732362 784219992 424413253 485601949 219023407 516435291 814083627 655556471 719375124 574769875 845983935 212068655 108548399 959204701 152391453 999423067 625329759 537006477 722743718 762546033 272961755 196762043 688042556 839835547 734269524 421210486 628116267 527704936 982413751 533772663 172960720 850704915 874630625 163518748 822887475 613627352 194843166 250657261 436215331 192726979 219263569 103037589 717480031 906703263 707096582 175525057 875642031 245940486 660568086 238035030 749036633 336228200 839744645 722351592 707858913 847102961 401961914 950273050 996333992 413356130 676968922 994827216 392203297 459930027 334852264 872180481 528681937 598369929 237679562 538654145 434671076 463291582 978474556 236719357 299996249 701612177 213886607 559149288 842394079 532582810 561661104 592665245 248288912 970343298 513227088 334503301 364107973 938323047 855169944 309895574 279091015 335570437 935634461 866555981 552842411 102697751 283792001 117627467 235746213 839238994 207811119 549648830 977922890 854596266 569605656 832550554 293670367 951939743 118632461 602967726 884310078 465070981 783313571 504139497 796119881 171299764 818678645 793101265 855736614 172426672 294045342 664469777 657440492 896084581 300379097 576259212 114968142 671654200 591628468 662848191 635370587 384265052 400543276 733418219 879288289 745165349 785130422 684548387 560010443 927549882 505697780 989533775 462227174 636186500 108336197 924024416 890109006 388044911 187785805 940385210 493235757 896500899 372018783 827994294 220190181 891888801 555986528 809913513 266750941 709592483 843212920 690976963 969724043 126119298 765773753 402583165 818353264 385857344 318945698 320010426 927852882 141262776 161687095 536520940 491081003 409701872 539001124 187011264 172800974 156999194 955399611 721236645 721278647 443258242 265814615 625305866 276485348 668013067 744271482 285282319 362574942 639516005 294557882 751097674 679408876 325449887 965693789 154586221 701706264 761768594 341980166 897289530 584302710 227643078 514588276 276879608 993321413 935807403 445101882 303373471 158039120 928581204 968546546 201061847 100900448 655445901 609662769 862425274 311183411 657268912 145220076 727878426 887457065 182931983 379599971 605447108 757724912 777808247 888495079 355084640 379256411 561322856 995331591 988318268 838805964 328974073 823887961 214808384 769579558 753969919 231248381 626340944 853521606 999421497 567252306 334925195 709251171 536019791 614160669 973892950 289372271 245379250 221851032 151484857 451787307 463548640 541076096 699179670 275715594 992794038 644852776 380131022 965055216 573852806 462798883 370525415 755975637 488040947 865080433 938107978 638465403 604529411 294266064 525906662 876720036 585285025 446634295 793119890 832566912 556729413 264430461 150852390 244318890 336709483 268782094 783341418 409206277 666656121 362898723 165308186 307438512 895107363 997933115 849167165 374571350 947421641 627587835 370955433 695603599 421661848 467455122 765567022 104202949 582333742 277670955 274851930 951069533 770383954 448239700 111373013 650098431 398952703 191685694 677117798 107877409 657380797 102036222 323709005 881613809 167260994 668458137 415048358 820885597 273048580 848985272 826494151 106730598 456235756 817301946 938503028 143208354 747597054 707944662 994993807 677399977 862230849 163571546 283394369 502859589 496223934 499252640 390050149 271650534 330083795 304339312 338329214 997711487 989225622 470799655 900903007 459570675 576270403 715767897 985398908 107083795 825313782 137878969 688015261 141655191 873913888 981604719 518955110 647292437 608856005 154671325 309137881 892284122 933775178 277542990 158048772 538495861 316675863 481700555 333846126 916827337 352953392 714625360 287390690 700030350 590753571 194900173 272366470 155225266 388407997 978013945 875229313 402037246 236659004 711320020 802126333 347141062 973473716 713150015 628051082 797562237 146726579 516603783 347360797 967429512 986009327 621993212 965368281 743669212 772926592 364727284 564984701 678560921 378663716 920859791 983893726 910691040 320969427 796346592 459123775 332983615 612474239 564589837 693963016 228647886 389394682 196223529 322447943 840342500 249825028 934583531 595502819 949841783 792131360 772831131 258099273 769489785 442519879 466288378 923002344 106360778 370582879 356745106 464111863 636859321 166769195 883663024 224353918 771392892 201847937 317025586 671667944 661987184 258044100 114465789 689977421 298876194 514612556 678344265 130732287 365156219 565499602 234543842 174486476 241422888 278192340 809776544 178223674 624700700 917602183 287906236 444410129 662131118 436070655 392718215 530691253 119203838 980258760 274893147 725349388 460802095 265037143 204497920 386300001 280908783 580476095 485825097 958199714 701781901 244390683 441623457 264098090 964797157 809199047 344625904 749230953 343520163 255647670 424858877 985151779 596508732 870244462 703272144 574109794 747770420 799121083 997205902 942925230 412395664 724910809 780234580 713046860 978041407 582136078 757613331 773671310 341190664 329626501 390520575 574642627 851804832 947572815 232824101 327292344 356428020 453491460 445912073 495285671 351108216 212727264 379253330 426606399 416577762 484353075 134802181 161861909 707429047 566645631 291749428 607735481 605100545 169073982 402388004 799029194 700442478 973414625 867738606 955817820 729101599 710682751 516661747 776558533 938822144 195868983 974511663 253674276 501833728 176605792 713361663 715403943 986053153 880154729 349225112 526985880 916198087 661895231 929395580 191683468 513693814 559478870 652909938 634579654 247367479 769825354 415986965 925253321 674069127 484211304 933350496 335805474 170292685 404260792 241361060 979499395 804347229 195328401 134372685 280247277 547171401 416997148 335161915 693198643 707529503 356405079 766070175 101197868 498380503 969375180 547609510 356857037 616357879 137406353 463469809 436207942 102135728 948559894 136285074 314642165 264059278 612680910 236143354 877272972 822384415 200872374 894785300 152787544 840434137 785113473 319167729 872588185 288163198 364496000 642368822 114753174 204736903 522045850 478716851 376953663 763506370 477895327 303385417 135064864 781349666 394820017 951065961 523436281 627539370 355508973 395406002 674578359 484306836 572197238 275824941 782924365 477144793 596961936 796962282 386275993 673187377 376660430 496001084 887535600 385885318 119556811 871274280 425685838 632829972 489432123 152956024 341175921 177115224 849167867 992005583 775741641 632890659 952795295 583959351 743509578 525759290 820138850 496658792 860316098 378448761 759811276 463977212 660076761 322153920 928647658 599323753 596741686 340010986 459764244 199093636 805806902 748960331 847598890 722140105 609367775 841689672 670828044 382513124 466499987 229680734 723247952 424437343 484170960 835063674 938123865 956963514 467087679 689273044 435450605 405159743 247829704 937480689 870981878 469366432 405011349 755325721 756867203 507140185 924914122 125069429 594166690 225063319 451670385 773783481 423084822 392095162 545189890 432432912 795627405 267698569 961611249 390026421 904517894 437437012 853406227 947167424 387357542 536438079 861111331 287690332 667291239 867644996 467378642 892810266 877749968 541650822 539427926 697725336 238725418 875419900 299606095 575218949 581515365 139249089 458513040 941086916 996304439 868372115 841037532 237336727 804464426 754397822 962068606 151582877 728141808 518554916 694110385 287432146 888234380 875310494 201400582 982980883 892910335 158901102 493033590 196642955 263572615 838838022 938987228 820533958 704852852 352200930 867693079 571999477 994458907 431178592 289338407 975094263 583196509 345280694 715518399 361975987 784187496 930197642 951548644 466398893 310793420 525955333 437006805 451942645 161690364 723943646 942766230 166709064 359495171 534528387 633225269 378980696 424382592 604495806 541847393 193544071 988590420 431810791 675342946 450221009 924645025 813858583 927847316 832397125 901110733 531439513 597962768 290760004 225538432 968381414 963183414 868136481 330207988 210766503 427041163 301616111 798602215 642779903 348285733 215174052 280088038 159518865 284592666 860958467 504625008 313815854 200091654 353112195 715691536 102464817 830092964 145141371 945564779 455182117 331509665 135497224 819847668 596219360 874973560 579047939 910930478 647317590 478672918 116174858 840331742 695713680 528586844 325316470 921219349 683838212 494338850 873562831 408045201 975391504 978340548 865346012 106802887 327939113 114254065 904633507 884282758 471984705 377074234 908774404 146932385 269154402 912230346 524453086 231546612 700935986 786120084 521877051 568197928 137094368 176918118 180998829 852398333 590158239 685104092 607050768 794393733 182778407 700986622 776964459 832128485 479169282 854667416 584517972 668601208 475320589 506779384 766434109 702237978 966172833 816520552 259722753 249480604 240643263 549786098 207521153 945163179 620955588 279450455 858898037 193575652 305711371 370740067 937149945 105088674 486583376 516935020 616624751 622213383 514032208 626592185 354304518 591674807 881928935 772270032 640179629 526689203 174234437 852718652 788070015 581134132 310339486 545490111 505344491 687012601 179796638 806716812 885261248 686580860 409738875 962195738 846135141 823777688 605364920 714802356 122625625 649537031 224004078 190301946 915199556 827134603 307681674 186931782 921064478 475994235 416494367 336274445 276572633 194670119 741303158 127199810 131925552 874351619 157147203 493603838 127263755 259180812 133274312 446346207 445745832 903503426 273373975 609408590 794293724 865910827 254202401 694281350 841546338 620217087 612847201 335682132 241263987 758959093 361950844 814137723 159532498 820511749 310358290 987160790 241811491 119473139 676396027 757079836 615473333 814046200 948356560 565116506 837563774 870145795 837839691 641061034 140616572 294282838 612111985 789054974 330105555 552077406 780721863 390902947 815767486 227735265 818841682 941143935 532913351 408092077 510483341 287875661 415452444 584831906 967763202 803181361 854822681 232937029 427720654 430808715 938239090 312917390 674069324 987098159 438784564 604617269 381990671 648545556 636855954 210910290 625445532 572232188 795755113 763529950 240450557 882127125 296508943 816896866 661532514 494782020 745974200 509137315 682882906 754330662 534083371 866733247 837939708 509388823 547522526 393131366 603132145 855840522 555837297 815353263 875184812 692592628 451022769 776927789 699086862 830852398 818079446 891674270 719617920 741583065 871964067 767798145 233180148 303255056 670600508 192073314 486581010 373846535 268119119 216072250 518909399 824433707 333164895 199637567 898390067 728103180 224345935 839770343 308437088 926334357 467400567 380370062 163484429 256355855 417295793 304795591 986341098 676003473 815350562 713752453 860750583 556147561 758766638 675794260 104574562 778810761 177493538 309394196 839464644 396794849 471117364 266783914 997199062 823116072 674277701 887084549 830536904 855465532 510282702 569283053 597861330 164264750 523364332 383433492 983000640 296665337 183346408 629305081 995668458 354667473 741800620 251105371 670707427 597006768 747818101 145612512 996301097 723806821 993474218 883086739 305580203 969404531 567588993 719462302 271592203 346026985 985032930 209163387 763748658 274198914 489449679 306904812 774370480 691706416 969081764 840108890 180877481 390855564 387459877 947205456 873158031 976263518 161848746 386357746 942992473 476325817 127230624 277241135 302648663 856475098 845543843 223787948 394834775 640754739 910550741 279152798 558766072 160739100 479656712 800003613 540196644 809304991 602351109 611916265 776569202 947606828 733580686 413740951 370318925 586089810 640717447 130918616 199145946 416545467 124995908 118669838 516581994 326014074 784427426 272924099 163020915 608117970 715413516 349988861 472032883 420999679 808284463 628667959 874113648 209209432 125747697 323184734 760083060 901666279 617024727 505642886 322836202 110846961 692206261 848343593 926585508 808660303 157900865 787902701 933922405 643858716 643208974 731848929 535160328 401707901 348684743 785753075 532450058 303641943 430499090 519313118 598029827 492781846 295588112 619184733 965219271 670203057 231910818 193041543 583251537 933097706 163908738 986310609 470682296 661105688 504225091 752318697 884068578 499574164 655122197 388070385 116340485 968057897 971633142 658783029 280717769 667977539 331869980 501784004 483706491 255485035 405522501 817452698 110617457 671268001 644814036 790265108 770146466 487366481 464913968 495018737 499229290 839107437 997271908 308996436 700420824 856276738 313451384 151826206 993604657 457602633 679625272 747589727 569189443 999337614 926686566 163924246 525375985 494522637 767951822 483901131 641480606 624845282 162976730 570141385 571336965 768267189 416540226 164660314 119891595 910694785 469474240 272096656 742832721 784347574 664960093 598205877 814859454 544485905 679992621 297011383 476810836 872489330 650808521 353547947 853612210 582778250 276389309 987941066 983537362 458854949 423093231 667174969 965464653 311678473 970043832 916543484 794136209 116588860 670958013 220758898 912595533 557178928 806792626 677719848 146356935 403293046 803575395 545576700 285740784 554649914 414624777 754910350 332246328 475409868 474900863 682255007 923325876 804848766 359283692 898004611 465012459 793646681 125822381 672458016 634135389 986833477 168399074 479763053 619723735 954740615 379861039 210176787 628817245 491808328 815328155 618408326 691612861 465177998 558998676 622905273 294521539 117034515 829942601 874589946 937896247 543086928 511973815 575858492 231743957 346603441 927091184 930162732 969709229 769631739 734962625 942830116 961585012 375914203 593653170 456910146 601487260 715608468 910114895 434135006 809575622 770365522 328852359 665598737 929165996 256183541 471054398 734107042 337348944 407693248 545641641 749031291 390982728 295921942 570414479 597078701 810257366 285079905 135714691 433391003 527940530 374352898 307310579 408391617 793647417 872387152 116424377 803128774 848925199 875099914 243333822 646677850 350666500 646041180 887999397 112627511 876493627 157570897 284793442 539034517 620473486 127561310 310575341 984576123 166257406 752509307 152326919 543053355 731542189 963594858 899540263 648021493 452950313 542358277 184217031 985057463 899216185 273771320 441999302 809319536 658133300 467190292 967137580 780651451 123820166 564933539 535811989 898915642 747737892 917354849 833955400 556690063 187733806 877118004 506934009 249192129 652359208 855686127 889369891 115520204 899807435 742366114 576204103 782367700 768401214 181620568 568981038 552968566 515594858 837761934 500629025 738872359 537760358 792653577 611550285 551747678 529454666 232329694 849494443 977466145 766135401 769945736 281721404 399458699 279914769 805633754 681541589 303558975 898462024 616155291 290535894 723071794 282005209 434682437 948058674 774852636 546905668 167301994 727326399 649050647 157191252 358754087 566594495 207667317 203063332 590294268 156835307 492968733 508970437 743506040 834334573 373928393 211622933 647735172 733646440 145298910 948237307 548225907 184537368 845503485 289791107 259114937 397016673 886639095 472089183 293203434 950332733 698928661 445300732 791435720 185752321 984961039 289960913 689840577 667807776 922009928 714682995 992175119 597435344 591998650 638591028 532156925 362867111 829658278 655398753 356546735 491930915 348391297 117646119 889854480 177510054 452254154 955865803 720586305 357424006 765330416 496235507 818964996 937471871 265539291 988168808 448903587 100987909 972221456 137446403 877073022 158479989 830337076 127332609 530948337 768081403 746247615 960586001 194637862 700615904 501116261 118319952 331036158 254457395 948459710 768102421 159361769 835227013 941975308 866218847 969605887 373792349 673936685 999986629 498078336 317533817 521803765 983286394 197631833 267682018 282427325 739673745 807072131 646852546 590999171 115376811 965191834 872808702 588955493 154325786 723645452 959906550 579243895 303185574 591114251 323318910 477212906 515347451 279473039 436392023 946666756 204513196 924334710 355843058 218907832 250717684 411937989 971233750 353506289 352063211 625917893 737081761 168450915 533579268 702507058 203542941 906490253 424274805 940997155 696693757 162465626 540340198 823121411 734947783 816403105 620560022 596620858 388308669 890551047 997577328 665142611 330494956 283314478 950643104 532786272 997632183 223168967 798890551 647931587 888617793 939212454 264018726 834757801 460300723 227028346 142174362 111591353 836194388 516842586 550415974 337885457 951969251 836164301 317624225 509834884 504491304 761676558 876864870 486271975 900568807 125307004 804255454 854149945 293268515 517927422 941376838 540088628 451219286 300080251 170005920 216958747 677316675 348452006 352051085 464462432 558249776 888940739 571273016 574845965 360968624 886184705 798322020 177690671 132777318 584437848 485970647 799193287 534339220 184675598 567628337 968011553 818949774 490841781 253547677 143052371 291259713 716529917 124118238 419988302 559024441 295728876 104523957 347141375 196464710 193557076 372149242 441307050 456741234 564502256 999005964 266923128 266403903 853873489 171373711 602949917 131814391 565076680 282826934 628856810 600960437 460441463 886533656 628865433 118062326 181971351 596697392 467005205 645772645 252214656 519827630 712642363 983405226 156653670 356051648 945157027 774669473 906888389 777951331 129759987 912982021 795857259 428733741 652577719 120486162 955178100 341456132 412252260 937723835 879756584 208382379 220588279 265281750 232788663 728007730 272588380 583484103 589113516 189602259 474873070 748592778 507287930 659030223 265838345 191341653 613224478 803722221 185642727 990849176 453514879 744778941 959727586 169328754 740352337 954599861 551277002 756638688 158416997 333826988 755628619 212205358 768743436 422889565 844955055 266457383 437611131 958186537 644266742 287337159 684149841 110009243 193126161 210482195 740787170 781168550 240212396 473498865 853225191 275994938 230265830 416916996 396096306 989938759 578810311 580883994 433347774 819825966 336609626 778891939 996156187 685870716 359009374 483954337 131462227 731417764 408691830 111583929 927443830 883854214 346632087 704351628 919681374 248119102 340110181 388870663 208101985 503883599 320622343 277759246 587757322 865689543 994718799 644084383 119906474 904167239 202755021 453426957 225846309 953171820 192409354 668730274 368220340 879738346 480555162 569486206 956081342 249775593 985376133 314038033 734304341 679217146 213511054 456798102 663737768 934573077 990768321 385574894 321081322 435564024 729529890 172476429 115483856 236409721 765035544 761123743 466693861 356385224 660777002 381424581 519763371 743154319 411338325 707360750 917459190 431647260 136217553 555907297 627261645 996674811 590348023 457202067 972544248 940471163 296247519 521311600 243601142 260150560 598598928 595446177 278545641 848933750 954198058 379658009 166123793 529790338 640525741 584179933 510957155 918907350 701820927 615809101 703277648 420627577 501033100 421718456 489742460 672193123 211501702 238416756 867807032 722799991 803598368 596747124 329985612 825018727 627535904 532736561 304575684 923160398 711153473 733559658 805437514 805191118 332254805 541672864 567351024 724625664 557878384 684678427 949515074 146683722 805003333 425672749 778314101 488433798 207878903 284603626 480633076 317896476 913016294 144863570 224658661 576983051 215694843 943763299 296384796 688937154 609744712 178507701 266155121 646384034 499404609 394276784 237590532 127623938 459862700 425717521 203835889 855007748 699216543 200485868 671646124 681552759 134676144 243536814 838533885 753207381 595237607 589780156 406650075 781262044 151143002 370970294 149704107 163989279 838603942 799239781 561503009 538262067 532208276 525380366 866896750 928773286 548806822 919145155 655120961 534611489 771424111 999485827 120198746 379869473 454184399 468501548 190122654 682258852 907476127 276647197 362691463 237549981 212588405 105992612 389171622 852462797 525712339 720813930 714111117 185079425 111704708 340226992 842045599 654012517 753414511 656073906 502736270 556535061 451811516 845546142 584572966 517546037 240439969 250007199 820662600 400773520 504318357 142375194 507842427 486442684 259454674 400713825 195002220 326206508 205531446 922971571 639593490 752038609 954416381 257874012 868933863 191965580 447113469 979929123 373497333 281457916 835296153 888214803 524566584 995539689 817578604 897003763 267988122 306031948 303029450 599927380 928291673 187264116 504960137 131333714 769020939 882921410 321945505 906085767 529537218 908885335 150048947 624855216 866117427 285792764 344489554 386224052 512151473 724241916 798467763 892271195 852231878 583482678 530101818 805597934 310678522 690438869 447015771 829177289 376318613 856598859 561820589 820587735 948212524 965185979 447496207 980669172 359948890 641105043 990318461 567053334 217755203 428712479 614836762 378834041 167871989 657201512 920018301 789236008 767925221 409837499 238071334 437444254 879253557 511579045 297211431 946107726 327109832 491898687 432075256 286044214 857163350 241162964 144394140 692874152 714786352 597844745 379254352 255931965 149714822 287583108 662240555 810154886 732317647 138248587 247471972 225195099 247836685 610720627 881178758 634732716 324543868 652846180 982240422 718292703 777492682 991032001 810587012 817055566 533834966 677427798 579540813 736553682 227601442 970664383 110682392 802066873 481994505 685593904 884394034 676500416 616907225 214961300 571128760 743145202 990544589 739779062 596455356 537726669 512444403 369707907 971458696 624583510 186516461 941389800 127361353 391487588 358055839 346168830 819779417 285855465 319124802 612736334 601461623 995607924 894863411 233129298 608658501 601443902 231829012 322557909 418075372 668375131 126813323 745628207 268225531 985695640 892240416 935572088 297029579 576155866 476718331 888692093 581507970 251009455 911414606 941960685 919051319 448728092 930487656 327008253 981716941 379060799 535960116 926067148 442492076 807534594 765787319 399831509 326724905 534949406 193771283 676814506 588175225 126841773 857295462 122838809 288625524 747586528 502062311 714288875 287363228 166656708 294098076 732382749 865961309 624845582 322806658 943761000 547882233 539604248 957475766 612799766 764074076 792821396 894173409 422636330 215171161 248139931 320571582 973868888 968008980 364841930 502029827 113468280 753778314 107625742 869055814 952726359 522459986 396260303 971898507 146885461 356762355 626047708 491468058 632146174 897266454 133048675 266405118 756553425 839121233 492611206 931740352 665038871 586299802 462450256 540255394 219805847 719951354 572503236 600997200 684258656 318198967 985023616 406056593 811963305 670838623 664363966 214835260 463987065 775164522 883439636 642541840 627379178 376226408 305868403 984988566 335644756 752283265 361101069 987045617 295234749 130978734 940389641 150842516 361651563 888860451 849995300 921955604 218507870 650254317 884079269 313927928 928378067 173819026 522699145 840227804 296567076 105042412 581223807 544557656 272400490 216531803 449910369 718019111 221078386 510605085 419231984 232976796 572552572 997133838 789300218 532506374 630113975 906988284 134604231 251910792 737566461 468132221 982085298 488291769 346581471 734210014 707306864 616877480 695430217 242539607 157940225 371966932 385081974 473163145 771216253 976922058 703284429 451017328 874171849 580084574 924277220 585208951 162492799 928852565 330184009 415265832 239599791 979234887 667933099 713036383 125718150 560837071 866571355 661845236 556053065 304128107 517377023 835405938 163645401 809864897 907781655 214468677 973016598 384145976 337880647 256750225 740635092 263459603 719960609 486296207 545122246 111773317 300518550 703348409 529655873 696658691 799804767 244253698 866417648 692452393 478883035 437791233 563599139 525800567 224017022 384801789 438999627 252086069 216907367 120238656 310533850 656238140 357248125 932714750 866900379 720176585 571039101 939554282 530763124 374497628 743931386 456551045 264965614 885905486 925916831 706010237 389476274 411547934 751534246 292970864 622127867 419306625 887340416 400262547 734654634 454120131 824859298 779817663 657716216 115025010 303916449 483100356 230945973 280011056 292075963 712250672 944509341 293952550 727781117 844899552 347808609 735298485 208858385 237947122 452442869 236311716 947552750 708424335 244436775 376275621 874798114 297795560 687027324 522987011 847730698 674044766 341481297 329854360 590193037 707697111 605436167 193400464 655943087 212527824 880136595 513751884 243988143 633362005 413834931 764688304 599398566 322710015 466627997 375170682 786974467 342926582 195062356 376982515 166779552 600351330 650486574 568850965 977668004 652602940 616176786 703418649 989898526 796587106 439650735 594845229 149715828 422988321 656194233 817214835 996930832 630760889 971643998 707188187 574455108 654375043 728589127 632212170 550575722 746171221 207159314 299285558 361713298 673190765 354609024 842648542 136676808 823359888 409391180 793417262 657582391 786626267 621318592 413901698 286806781 775207288 504539091 295788215 202403523 670515628 510360248 797501562 543641140 945896339 540758337 429352087 430834006 807760209 578398388 676127003 712768350 657292188 349036039 373089435 567218594 931470202 399172095 953296424 384614821 919262702 298464501 553515647 745154950 710749722 627056937 710898543 291044089 937448987 722369501 159040663 174782631 663889496 303140001 228936633 421673293 780654712 172786555 904349601 470507839 506624815 340789693 325114184 328932616 598069965 696375678 453786570 209820884 700496224 268841462 199694023 794959677 439114581 743613612 947533436 402912978 328320357 930643860 969946950 180392179 506073584 482654114 255167721 928901084 128535667 854415388 327427180 108746217 821402872 856760154 787893431 570527755 677347468 205034063 508914186 229051538 678936881 645475241 163860161 684760884 445431767 535177095 353272688 541254178 261380132 731218202 339213359 483799612 148113299 629864637 479915883 659453829 350620169 525422077 523351559 166720728 155014168 945048172 953203225 376330832 534854520 113772162 572050324 383151012 389654973 140056448 199712506 612847375 443574670 872485174 519900276 600698127 993668708 218435088 809013161 320175189 780074779 728847408 848894925 278337986 576492770 389435873 472160056 809903536 851506157 597606866 399505785 759044663 675376059 233769367 962778165 574772944 351694997 746378442 382730426 817565212 431896106 252781981 333475095 334270419 281652534 367777232 363862342 798712527 343017610 440524448 463130728 720468070 341483884 339778607 203067093 623909421 917656848 434388164 629901305 879672362 893472971 940984825 780596933 363428451 392045132 237789484 541379709 271417404 825067991 885164126 917008577 296628811 395375240 330056594 757569550 213205088 246246539 466257765 872490464 582770928 981040501 523205379 174988903 274756654 127298495 131025162 878691242 582185895 253355386 973824835 192945831 783597750 564566222 303196072 706261941 746173396 179787094 238796758 695521435 240037477 278522475 113330781 646372601 955971689 787232759 517572996 795538189 704134358 243791824 356499985 292882395 537426629 392137542 480581508 510658678 822341909 171553032 833697970 661339356 199561052 212489631 753970871 617464723 618597634 543722961 964464805 569249747 671144572 162263332 517824129 682778694 452040607 722336404 827634746 253318374 427900042 845423836 228042234 937635946 387266121 801102846 736669689 549158338 124636357 160955964 524609067 825788760 910890114 989881137 555486183 500308646 375620313 831525029 397101845 860508299 820505780 603304665 600948137 757880159 865578570 984906905 888788701 932278229 426362346 221943876 240465761 584997263 921945509 635674988 507299732 451446201 901142941 869597990 250821923 729178730 163853145 863929716 526289803 231197025 161232363 834060004 224733757 881508469 202714818 351532579 554143960 343339440 464497170 946285343 864538017 225398058 287944977 300815490 582582738 594954317 599715561 461930891 705107468 221110503 667583184 309102216 925100534 446429410 226457502 883878423 752137606 372284761 697821335 773137284 587807930 947123896 992736397 603413587 323976220 817875958 252982982 105766040 144428689 577412168 331639361 191685543 808226582 135563620 805022095 447080702 356175814 218394611 365692711 147036455 121745673 461782031 293677670 158456994 105547490 585641998 134486729 937613173 650864997 367606107 307172173 210611545 410657105 574582723 181449370 597078744 738601030 229950680 742738584 211698002 655964893 441600539 550028428 840099984 725197514 931979083 812463186 657423968 974427621 736155390 639533457 793312728 660351165 797354217 809184574 176570127 428301324 349181922 682973508 374691922 731436218 686746428 761470097 706454304 951953023 663231405 609530167 214517290 481843457 920465910 942000835 187213952 720394984 213658817 458208972 316869037 765328540 713525817 203331302 481963491 136566430 151946580 241041414 343775361 974098374 257855759 536853282 401329777 945113241 896683552 124227064 950361367 853911791 329386322 588541381 790375958 985526833 921083076 295474105 562038880 502037584 838999431 621029826 460124163 654830755 568783776 161435628 275589837 964566765 635888205 282108304 534352858 287095088 362696081 295029614 749947122 796635748 343261989 947431529 660507088 450389850 610183495 450228717 127061308 634621003 383510059 879677660 257497770 986954086 215650455 881151894 187438954 642813708 714302292 110632578 220412441 640639710 636587804 157109593 806785038 939299490 607847777 733955915 601033691 528750750 144214672 683968949 945245715 126034398 883477065 581301897 593948349 558190353 885708669 264300735 940943129 275945974 531849930 295817556 205734302 433806753 925220264 286471654 715614807 549623112 527911959 881649260 793693328 624193487 595831061 833302650 600326522 626620685 642130596 947310256 944981233 779852937 859611109 553915233 320668962 129845698 329812506 175375485 664274733 492196048 438535483 740960813 677225647 604699498 982642958 162712214 748791418 977063948 863958556 995215315 365727720 496186406 260376637 875789213 151198327 505370205 196891853 657340718 266924101 435685623 332296798 348218718 978203514 891946582 357300643 589566672 793975651 387962535 989356966 561843067 684833393 556849093 942449971 888251747 150985992 861575377 917162646 352669622 764816689 963118798 440218693 131034026 647660430 352657984 849797734 706073731 702260880 443685004 392553477 916213571 166423322 434474291 144575880 717874360 614611469 231964233 589512963 426049363 377960317 778649140 833553724 755910139 621534348 759519113 960619404 931656384 706199106 264761868 934847578 960315540 635009844 671440100 578093869 490202951 393551156 317134509 513240033 253546199 598444154 641410274 241069994 232699609 808337613 858506665 347183671 801439828 769682498 192880163 249880782 751892821 158596443 830741521 605029240 270848773 976233434 891357980 560791952 730684031 744200677 283468173 488013235 108398302 879830066 159087720 384687435 180386869 416267587 807403521 109481143 237868010 963632661 423340099 244740299 312288185 197621894 364655354 518081466 780215316 984336883 208823341 413558510 314580209 447764228 471693822 178875423 772781901 801289623 864913947 405457738 535244178 678912166 139521355 194406658 663462018 629803544 962319557 917408692 399515068 390541763 685141026 995023893 732635017 307122400 772615257 743634710 361305228 784428749 751128857 440067616 817215979 998889425 708747731 725686312 465786391 998623589 779329859 402052110 573226635 938856168 625631570 279491587 318156753 480850753 309986013 256470741 631935348 253145258 439106086 260482909 931530768 277318167 105397575 832112721 786372596 649782836 879842515 994879597 385786674 288925472 686846889 319427802 507307696 870790091 303250368 750371638 585157633 694396621 815617075 105445322 799802415 826098730 591045235 277559578 683853786 671413484 881089141 897859876 774701645 483649834 439061179 754739968 456287982 940189632 302812384 976144887 621551416 759655557 196395441 877651953 196362699 358837468 199226537 261721515 158462337 442816699 463055804 233164020 117385603 447816754 809440063 610318969 938375176 417010710 569213149 344581721 980309938 404593346 643052575 380049217 774848208 979235809 334267214 896533404 109623092 817794321 487219512 707370502 681948601 980394442 615730806 377846126 592858743 793062743 389285188 912841360 439515841 487082184 257785283 221419733 232041753 510490930 420920164 170219962 265782020 310139905 136692635 598816359 468208726 506907194 760318540 401620526 237110866 394027801 372905204 205135690 325825649 996060324 294184124 376041218 552243225 339422588 251027209 124090373 504381277 212035228 438354956 384400385 703686002 801943631 312309504 952289541 376952004 243632411 658314891 956473359 353991910 613043182 403847894 198212629 499223488 655281681 407469486 402051492 445585250 139278465 479534257 724411806 881409254 215903663 797707657 705017079 413065213 263929378 682475078 389889398 761952046 333667220 360792261 390584405 978969905 813370185 868026316 485526454 932970990 248002685 916824578 417186443 731502060 205690993 714580150 841085832 317281211 154210987 301093326 638969383 348799472 944936347 342748108 675465788 373637050 336887365 545217055 562079597 289684020 966895720 140674239 927263220 490921776 914619516 501829393 166927230 697896977 983120066 483027957 824047412 700307506 387349041 417900834 633650697 935968986 302544369 982542229 894486418 984138729 320953659 606986924 995770523 457759140 259349605 210870761 949351950 680593294 355433778 997811165 627237586 936150715 958130458 701219143 896054108 759543942 666954411 927414411 483856178 312685699 996113415 981312487 259084657 719549699 933794004 791867675 407263936 844959755 143123818 280354395 576601254 177193235 268925603 896458637 317786543 290686303 278636770 254754259 732656529 644714117 611122998 302479783 810406677 954893474 113196644 182468328 237100889 107066325 637012479 508167140 931064068 847083719 130249000 173530744 777228676 173160696 550661837 430049901 404664300 750714722 880452433 849552318 880161957 698757793 763803737 290761615 604833167 113703815 853800857 706911959 973842809 429405775 602527503 348174415 451289086 914985564 350698891 606003756 690654740 751217386 674770349 471612427 949983005 611596620 643427664 253869850 383869345 162312481 833938341 845262554 150887665 586969133 757252890 106004098 185768651 524647831 837187297 209609123 882577992 212738683 990630098 163474911 704903118 518022949 483894054 807858496 933123491 250784274 209795151 274995668 663417711 538008047 706105376 576420120 252659106 497867895 747952842 487849391 767976358 703276759 653633122 885578977 968266359 125049257 323106908 467334051 361714148 494428882 305471674 430356564 482745661 641517323 356363174 196160746 780262218 239564496 485562140 772867926 276429015 191466870 589877427 840897188 229859547 562736804 285907604 749944458 379838724 280012153 306139526 740603731 655387221 609740432 306884201 202984330 988991179 295733338 967214612 887056083 547460848 325976673 828077873 912079488 773775083 293119510 738978875 169777062 612324878 670683614 244771783 377862319 342240806 948401557 189678617 445377667 358168823 690420982 446705417 965917374 113984728 959771067 977550398 528623515 840260074 132634108 756188934 750842975 106453207 751499174 379368453 106712118 642950615 901041564 293375570 376887301 923171967 605334287 653833889 545227967 858051313 340050204 435044329 446076672 151466447 855574570 715554417 973399049 863897694 564735571 818028440 297534903 456767339 328687974 173140556 800742749 869383668 242752358 988743883 707185542 456684363 167904835 753242570 652498339 158055272 591353948 506005767 473913548 541362803 196159221 481197621 236176068 873909367 781236496 691131817 265048601 255547600 632900660 724519803 764226735 139044378 102455220 226186004 160226296 479310219 475280353 400969129 425181322 848017751 387681193 360057852 596236794 694612846 927591095 973732806 695889623 549082217 383069952 725508617 499311899 215752506 421861087 857065619 936109490 236199009 466449945 194583292 494263362 412001944 887491592 910776080 506668979 799462650 518316926 827248274 927932076 874068868 118874904 748960860 546471609 956776977 601205883 127778811 172167262 500639801 957994176 971022038 478560681 652400556 519876330 416416259 201056481 704179254 261699142 722661165 947462636 982009465 110194833 721202700 933470693 470631831 297923177 402250432 739672932 674408881 970238001 873075651 805720001 680639407 680447994 222929982 362463010 817935860 950477795 681311874 190221961 771266662 468152441 986586820 500174896 588749615 482446546 113668219 996560186 793409432 974882744 818003225 629639769 905483226 532098358 796768340 163003264 234694332 575968341 163423655 221197936 230367379 850052866 531479965 698391065 913675986 662104516 677390712 909488579 241405868 277619313 487612995 157521255 479928537 531309257 933497967 177331856 165843101 346715864 855982091 348381810 267401501 231315236 884112808 133894717 474435364 776496077 549174067 484075973 388574123 291951549 890667149 268723837 516306631 172545503 156560356 321877225 104900767 910984268 650449760 960702959 851083477 712011120 263922624 723971005 158282373 698512361 446880179 872543081 785055292 129588367 490050706 659435344 737838261 837629086 762339854 600578469 735857240 370951522 276869194 283918529 489221842 524038776 541059911 366906053 979816901 919267854 673186610 968294597 455880092 862686130 802780891 516730609 127319087 632055372 645591608 616762755 926494687 943233247 982617572 868627081 968363016 801091936 126044508 795516013 707806892 252382746 500499240 916626890 465109747 716748468 534748753 319611888 766662579 277456155 870364892 899919825 421705661 459769366 983012894 716238113 203296654 983841045 704468539 823308851 112784841 944512225 271257934 730557646 200042669 588862105 822446851 543805191 132557401 866139964 696819116 884017743 772484367 355910269 656504144 231637107 495487500 340099633 718517246 783049295 846079381 636811802 517277842 481202339 722926845 569426128 631485283 458228069 105752071 800465502 754954595 960034737 527779144 223377653 202202281 182843663 957608572 904956342 415302205 463572440 605294713 149145104 320351760 440012018 247893314 119774908 573757411 191394242 478203727 436518850 649753180 873604221 222332464 320615491 799517977 709480635 868154293 100271271 966183435 288496277 171531901 355982046 802832795 439401783 431149502 885766655 427628170 704945286 244050650 350183046 832807628 348006152 289968913 529660882 561326534 798991750 527396113 627394699 338764308 563286972 704643562 721204045 341344549 265092267 125058920 427841530 644995220 295382369 463848147 124059705 796517211 351389160 202768863 867113988 275932980 131978363 912290238 509834515 224827561 129954663 136718162 815485904 143572566 474904796 656249559 518132582 608319556 547633439 751959604 262900671 419294077 317030001 328742286 204431379 606514347 191913209 126940979 118715050 817370887 670545325 302538866 164693584 546586755 970241301 525862879 416031811 430486019 603427918 861027673 580813157 874454367 592604124 416602047 393770600 177547119 730795905 397167136 520909384 690716585 683705438 883703546 447586788 327751632 312572477 848151230 462894791 641355027 747833165 374679821 713225987 631301081 395299906 119952726 511440186 183103471 292647192 164737476 167089271 885891370 426113744 919705576 288829003 188914403 133498038 826962181 988569010 501143403 452058400 949120976 214515359 100188982 771167935 757935846 204053499 539657169 440486724 394795744 688734038 483831705 518246745 423253111 929752339 912123269 791362796 918684764 677346651 974862198 920537340 511970395 111674581 582467521 330867935 818146163 530648522 222256799 846280558 723521502 202375527 911060764 496510237 731111943 271879831 190135520 675743397 910957743 179416297 335263013 533460817 942828663 700409672 138579139 829735202 844380294 221081299 647154360 872404801 117537052 463610674 479951624 328285621 219902634 350443781 548694000 679814397 251347972 779677524 802770926 429162705 602448119 840583331 118270012 770158838 894220375 991241929 706398038 215710079 186732605 582706331 770361165 274212869 325177540 661085934 801025369 126143063 236342816 348710374 331005392 722487781 139513797 976907849 583516245 641255742 792249293 462609229 881847165 470088893 308211607 412144014 656872864 304925716 957582997 363012356 860866398 765039677 613166706 187124563 242611425 813773150 684517171 419346933 801599460 381748002 644529974 926735551 637199090 791348710 596871059 947961697 335907382 990577813 937198624 366221127 208228954 505061402 884547798 618818122 127685313 358989999 753920915 644424063 395959070 104645241 901765340 347234487 646168159 684863646 464882594 145981913 754618596 310251554 522469533 391324431 840289636 216141284 328285782 401752433 828433026 727341865 870471714 460020623 886496026 688386712 922912695 629376517 901277025 915265574 629894641 256576759 336647167 515748046 702483201 603892294 807718904 930334032 947367084 469472063 775635765 842145076 714589944 847818542 540535126 588583043 472460448 780135022 564903553 430768300 744225631 663372829 435247449 687785825 705490356 937760611 852546575 570890142 594917731 935877484 520020557 998706931 833535179 433462790 312891832 287386632 508350115 839504823 290660355 213053708 270634472 607081667 200866029 389608045 213022963 645421038 292493528 621461803 627234131 788419812 619449408 694841240 754260652 938244587 951392733 782084214 795203556 753721336 206382221 471398950 418726943 612484084 330246433 488842902 897874126 698719328 589525052 321021547 341712374 860829470 577619675 920923890 581331404 665195909 266740837 609626671 417386757 857737103 170472618 235878917 403399287 516676429 882951770 464667229 261499885 208618825 673114984 516730442 903061178 224961342 494275584 419307083 427318774 368425052 475902917 835470495 817791596 137504848 446994029 570809685 620454374 599404684 426472624 318436515 304179978 111781146 494208814 203745727 490103900 722741094 540800406 309282315 387633357 301063909 312395936 253479660 299300917 828831473 978012741 722958613 744211713 898527641 653523360 343342657 408306273 853435707 331610337 603276657 628162112 304503826 232504982 450893104 281896109 478414898 595972044 613524083 700033500 238028331 721433199 144137455 529865887 379921966 851607473 403972083 920368431 142442246 451366573 487149497 584096256 251697828 194751495 190782077 406338615 303849578 493186993 139715016 319598362 814368849 983286830 769492841 341433165 286029272 812167037 415183551 628366010 138371596 593819747 885951490 789202706 718125379 200568581 818554045 619226893 632487995 825586590 198139983 852787144 241422760 446625969 981426996 685892538 837960542 617498751 366376032 592503353 809115262 812691856 311043657 452985055 550101318 646156290 543501415 863323957 420813438 275239592 140951666 256680338 254083902 916826240 908771834 657081749 350719739 497821372 230210163 245939198 770565289 911762460 875319776 478180663 460358419 598216905 476696455 746594170 895127275 677217938 947755767 699342389 612824023 379491433 677521477 150524959 457353238 316657766 132991918 972666479 548214788 311511815 895791571 756420798 814596374 401737128 887133072 423217703 173368959 561510193 668347878 454055144 917855489 833683182 211235430 697906922 652258429 806686051 346239914 854332685 264410162 994885242 721694689 149019091 835840696 864665989 786373672 715048894 866943639 137371809 381796961 585197777 443281102 151604695 242543465 991365039 666148862 232442065 406199415 746210305 317477356 324504029 791441673 603667487 781998673 829223220 803163721 232168884 123881626 977443566 370150502 242862108 913443375 236482834 705522685 448115607 487335654 199729677 575348931 235088279 548145475 465230548 154699405 890717047 418836343 647005561 741936070 255878571 686255871 696560111 138459683 993507699 980206723 561014638 117921625 238212545 165553209 321982189 498668121 631716050 961896551 246653099 647426288 247237382 839146425 914264595 735995247 248955297 482451512 800162946 316681060 218586074 579443976 527481682 359721247 854107717 634653984 712747822 543137332 185061633 947246145 150862474 386266593 778880113 878210441 347149024 779908416 861309539 255517257 367699923 902452879 940950659 736784884 930159541 886184318 468330168 648375465 444503861 852556053 232555085 400832778 485411295 444525482 573733347 499011765 508172671 351958572 717238145 230843195 953188753 194184088 157261202 101233165 391376610 711653628 172926160 912133790 633248861 369368352 733910578 980051896 304698696 127982265 757301255 153339350 260646991 229749521 129709824 384470236 652212468 866424673 965740912 612079777 695860444 819877432 556154321 940587650 556021200 256596663 865436348 833990314 695350054 268111140 783261301 388123398 263000277 624141277 734688093 281288958 173420985 415110569 326325864 578974853 922429982 371383883 133487493 290245003 614856292 532496856 457606746 663714055 681593263 663263743 593716608 391262120 446861493 140532640 947786723 540137265 969319975 478980230 409708757 986615385 442990525 787852295 859570992 924516432 857523692 263734998 611743275 835712245 734308346 605679867 232849492 372926737 956861652 519253434 792702399 471910521 206928515 385491322 232411224 676645158 490344336 323419482 550682415 703662065 417887521 758333468 406920831 572934420 291463582 454792908 263629766 364204774 739838107 194532467 580123200 910610154 577123481 751124810 733835960 993117260 419560348 295823925 410543252 367990661 353964586 736553083 321537979 424672146 961742593 555998081 949609021 528069501 963941683 909840147 684977789 464856127 989082942 611638109 911679318 867155807 165208141 382536509 297220964 255443695 418180954 868439089 948852150 527542292 894778194 892715453 315623796 246860310 370117783 284019708 558606040 357332915 272887111 350355753 758102587 218456154 947040584 577821449 199619748 210830875 832451948 289519100 687929401 397540382 288157575 216954288 175176736 893667119 507241600 701628593 222426201 278423091 279952120 107927999 940616202 719104615 168915069 520411158 249583361 312264130 841387943 990645787 743262090 306894319 110659829 915234974 578711267 518676330 997918109 301229831 595360217 830653518 172371991 498904750 802316421 794366597 861061902 507266899 922049622 862241445 866749862 508680516 451297301 229949673 865523522 706480891 577720608 271708155 536022644 840837126 962636572 143545610 220152191 258394091 573577577 299293412 289069372 985840687 746844512 988360993 519479603 481016526 809443458 166814957 352534821 214567639 524054125 878597678 690963072 739119225 689521427 818656286 682134444 254900113 222457027 226090626 986220778 959152429 131550908 459244427 897756300 863856317 558657066 724330843 693255069 192835590 363201831 931861417 842232918 963638158 235893298 650143319 117187184 280681390 920393005 482993561 753424964 667457573 725031075 689829153 292182346 356929851 265671803 981999342 584146747 118178441 206580023 778648043 445167774 151693957 130494496 728432766 833332302 544856862 457243973 185309089 305222416 808952148 956959914 850130606 840602256 750079186 233926526 259716651 715717099 125988909 434671738 961952114 975854585 251177348 111776535 167153145 192739587 817926525 555200522 487131967 586354772 204422094 378698542 445419638 539156353 393267239 761923420 426305222 685053952 238781798 968802233 764202165 832332586 117445471 168910188 604781876 631243080 502303366 778879161 536004543 173107391 856821933 461612516 405970546 682687889 605594744 178144504 130196539 755831922 838610424 395565065 580109274 968074498 387819681 676288669 812055302 355430405 581230334 967772330 966149301 966875486 366476955 452720961 569062192 323611921 828252786 804729919 266105349 116195275 822740812 965597860 657124587 287171255 510209758 780015160 358709582 459567839 662722892 457369033 816918520 856896635 866985249 846428186 679294520 680006785 969157957 804149980 469859036 723954703 507862073 237182104 934413128 614250365 258305874 181185802 489116453 391905446 401554756 883472151 929795127 526401778 801616657 925597265 331269025 762349475 462465849 590191740 151386732 737989619 869114034 619693235 172059131 235734978 258868342 887942868 751751440 489938941 458350816 284804037 548798318 760695928 784814210 551678650 445856541 184531116 142529889 938444685 683954916 260353951 957149598 812656082 652743286 149669717 870875923 643067978 281777433 638255457 633172482 819722160 575792759 466818998 422777546 243075540 645778215 108876084 845436474 510227310 428992200 774386563 714104494 172613739 462355271 616859648 813404376 594915498 227570906 618462438 796710268 914090191 321539490 398032825 237804611 256144046 602649117 728659751 734721242 403610872 673826019 446013363 445547939 898384794 187828315 879279775 192918668 456561973 177797488 277087999 106881929 388764539 806676543 858159326 518758820 966575168 825088502 555022622 915303497 490065383 937277220 461160760 120164445 887576588 488724941 577597620 910942557 258079073 772856557 211355726 418854418 599730765 658889232 915946078 365255852 637922809 992963505 388809951 857959603 394270264 185624666 197452495 993039905 235893911 520026008 868773019 593891944 398923993 628029923 703851379 981872186 833201858 494264332 847568338 146209559 454076135 136579043 462596656 898244124 946816561 998214365 471463047 748686215 298598490 148624805 683037867 843396070 172472065 752052723 103344408 227655912 608538445 910335234 731963504 805907456 326188414 324495309 669780065 545691576 850205521 590749316 873393123 583891606 288849811 320195565 332771996 492209657 140394927 379735017 704929360 756000919 524359099 152160402 243053968 532326974 438681716 400422758 883453857 803739740 267797463 998193022 437471769 453576403 283674721 198139835 476164278 911031193 658460481 460394906 409799444 413133640 608411074 327134630 798104880 975256079 967558394 449844039 109654329 758999301 992845719 226541494 349634675 622570574 926473672 871821506 808768862 315489592 355943299 977018037 486368805 112408241 896223568 153053258 177116214 727159046 501711345 866745777 257391304 183971552 861734688 631982990 339923365 873019791 682146673 308625031 668489711 261893894 389254433 820369648 122113463 583962625 260589831 523781389 337831009 881253925 146252373 602392995 436362874 571513701 780122700 646311917 324512976 100885609 330745400 157628034 392420580 968956949 936849380 434219643 501771778 701487595 944810466 808519575 293392335 209910918 740364831 472630552 837272882 109389565 573635292 613076362 521872860 925807714 249760923 847286431 354044498 886893053 738044088 131954557 533257619 629902542 268721558 961564372 393149633 556931373 246701997 698282855 904007567 354889689 280125178 201649486 513062915 286898203 563552521 364576710 162291263 392448312 677861162 922618118 908398724 839445863 890325519 415524809 517378936 365317716 485572991 170295054 203636015 942644031 928948936 219172245 468715940 641488377 348552063 708887540 840287190 809986333 878280555 492939924 742404399 240790304 359744926 602110846 757125236 876829582 175835659 389301259 233033225 319226690 464345360 783028135 857578695 215374382 705455227 280388554 794556178 597812963 355929828 610673908 537620917 814131862 546810434 474611295 120983216 437237672 197494078 146727524 286136932 329495790 268660341 569828080 112303184 172832259 587184000 308143074 473335810 247548680 489430598 615035678 505318084 378914165 528866090 236590330 945249225 293989436 319473132 658473496 743573077 425837511 659161135 883351898 588631815 657475530 845705004 532629435 283637764 697722985 790250488 917303184 919183609 987806809 649779032 921094651 554740089 215108298 320859666 696262383 666372445 779432499 785228018 910280108 892315233 305364970 713565271 476862657 714333917 835535932 242341799 626929001 770357549 116697070 650009661 345640334 503902393 320623007 554791189 984640812 161579322 630856427 777349819 598531026 130015043 562797918 789722102 795550446 863306800 948412609 348661963 250508523 753681617 355760291 277091149 947571247 450136526 885411490 186819317 745996016 861315710 429217157 148028192 159497110 897373603 576916081 745104798 320196953 785437157 862037119 513138361 690544730 318744203 680896986 356990339 109982395 464753372 931322029 286484215 235182639 642400061 462618134 457107997 150641470 861192300 185718633 970757677 452530474 145445090 990015993 624435163 851972154 124659887 949619603 566421064 267543610 749524327 428803399 638304571 434487639 463328976 541615729 252701825 669727062 634657826 301977002 116713376 883836147 496391808 873038692 879680776 306681533 622706903 961217691 846347267 420256260 761821545 956652073 663227761 895426369 775965902 752116324 494174640 303613862 481121851 999716553 243957284 167552723 588677613 811652314 349983717 304691326 337131400 148240469 150527841 391155597 607581720 670939644 307248271 803032925 844199475 867786656 888500618 885625499 100049573 782417629 752497057 890919189 335510457 952484374 550889967 353419596 160226278 149406776 308655608 103485059 190732481 470746221 149911119 753180151 236000668 869896178 551338026 700674666 947973635 886489943 779254293 165207169 695895881 312018197 608623000 578363615 383839945 662086828 372641581 932199054 180340787 173410631 760691541 977447044 591528585 229930153 611056643 187376701 669334439 562779178 383088772 750703882 427231797 210029495 305621758 311594958 865398343 377193773 931802395 967880411 862949049 275472094 551905306 593806115 572021746 107018514 638035535 220749524 388009974 115461506 339241229 614536405 969204640 627016407 320760446 891267326 834268836 874522775 515948277 839792851 422478933 839699164 547091416 506301541 696688229 501804623 232246806 864887471 694448823 142060751 542006116 894679762 689492672 910723274 231681366 745197051 687488197 917620620 467216772 114123839 627318342 761078907 426320937 206848556 890565751 740030628 617738293 419904466 851802803 276099744 483960569 666616021 942767686 845336359 689703782 375078860 787336871 428432859 315667673 496127173 496448281 622992649 195693655 946227529 113649590 995991376 800437579 140514849 961357265 969571889 350782125 786886087 296552699 413290625 774038756 452024942 217734405 307603102 487892461 794696267 467403282 465802842 557217270 106874847 100022643 511945595 765721197 453211971 982717153 599282051 831357717 275645049 258018960 962812682 675073291 926809202 529201181 216026045 829692006 151442770 272731866 340962254 584305012 260723115 351613096 332205810 740707439 982169566 612952265 982412444 475237372 782623725 117208458 555508830 961799602 599055284 924356307 343876988 621305857 684873255 498790654 121271465 955407727 818113459 146962508 874701574 286617793 209012806 211135029 947028427 995224045 545318204 528324439 745591660 818772886 610895070 353254629 538539521 777877459 548628695 456898107 239574219 543732404 309836163 955624317 132190229 600325162 779722147 628386651 912700428 272877215 178815059 919110969 818416193 621968012 893658293 321397715 324594244 826079331 940267282 199504215 550675265 329853282 581965080 417358037 996807952 457719832 181307314 494681798 694110756 439044131 613910138 897949558 108651225 862889256 855858742 789174346 283450459 387462695 200721501 507716375 293614461 536930748 692155032 751722950 746186449 478465194 283835781 409680111 214177783 251389131 677872774 866661973 518794044 734207720 465034881 733768527 298661559 160890942 707189757 639432713 351193535 592337272 863481468 522399399 595922284 942002059 194870735 586208429 596091599 159887317 989020436 344496896 132275890 368217782 334516737 563606343 842073959 841841734 766378551 909823686 372527829 850327412 879991996 887125906 141397822 502338240 851282147 994674158 580650206 718866404 807283424 371958291 307025660 951637356 528611777 319541650 118770202 930126636 290738768 602588491 353731469 618030551 634062590 966820199 109503554 296597823 539848216 867743855 389552116 633292490 844008033 429463592 721630728 796046714 914691245 377370920 878802104 511153432 939035810 813730581 619518730 716015304 499585720 297423503 441891822 174992768 938181669 247680899 102338130 871644004 675524911 846407781 128437320 183330777 539121912 203058806 580189857 529917362 959294626 161871256 642276259 650328611 128831122 291136303 295660640 313539287 964550000 162938922 125452686 148788578 477125301 537076224 648014524 618737945 470651646 806658455 543086709 588325568 912853284 848442401 174758922 113173697 828972888 207229326 342288234 837228758 347340459 492410447 790332496 168353676 108579485 592238642 947333270 210476436 768021242 352084041 745560808 878176607 184127661 881001931 889829767 583083922 483620196 587217289 217774754 801566678 959141958 583746860 619314470 111389975 440042984 882136267 392904676 175061130 536059619 835077622 339604208 768003269 554023043 651304294 443864047 520911877 547358586 907153885 565611702 564428790 163892847 851376001 734260181 432575897 551491543 463395637 697334893 626008336 567853596 573737530 534071071 307866981 437190652 626309491 731585888 509019355 117414890 994018668 619763452 602482223 123941567 760814223 965984361 925590982 843843519 178464026 176667502 291052349 530431386 988546795 395400781 555191407 521292718 985144633 400266782 299511550 919825183 691133618 947409210 387765700 548058704 954282222 630663601 126337445 883438819 189246825 181728068 112778230 929754930 365956705 259904830 117902998 527194012 255724831 110267715 535570818 255090532 153888007 473383551 845515735 504570729 989965552 513717086 497584649 654477698 504482839 578397283 499507881 383705056 853757249 522556196 543596252 822239398 184426543 287546170 344399952 678774013 202267977 827734593 396269743 278846139 286896599 497698025 274938730 623554835 502670869 220801212 778321650 599874323 997415409 906546550 319354980 232193012 751939676 767706454 247804762 295347383 311636829 583528631 612974562 264081117 953073943 857902998 327418400 455538496 666216449 368193656 432387390 658030720 789949704 651318654 763038610 545693484 920075581 331198058 405753394 741902642 501419833 704384303 239061343 332202622 922716785 399135073 178901883 724242591 427910191 641583091 310466812 201524417 852044874 258115184 770357646 480689287 467988658 172731691 322591065 226671015 718993607 252754737 559327188 943336373 794746937 740788753 649042972 280065437 212648678 282123832 798180998 409169035 887845768 405683988 787453349 427476897 512959174 780385409 735384657 909605219 649991735 145276963 539187917 923499789 251240719 772939833 763399533 114999802 454312502 184132435 462965879 321150876 306979712 324999588 369441302 435347243 271062520 981387703 683016124 359964269 535736218 225061004 817135767 631950631 162943261 901972425 123716100 388174892 572042155 353347375 204341666 238522432 909159463 301154349 433115879 811887398 421264244 963418014 151213838 479498351 251856756 201027583 726404045 918434720 735713861 317856238 672317308 822157164 852825885 580054013 606791012 266895235 457995924 469898833 120892079 340766303 119338818 994508745 314038296 345478555 843279134 460037007 938266767 178371092 155513878 744731484 763923144 602045164 778537096 575338440 873546214 156573944 312159533 925381732 164822233 669601589 834270425 964303582 990315203 991113138 399513893 570132781 929426689 529789843 689600062 370552810 594937751 325127645 195119000 454806305 665781486 734688271 961082296 705177894 695362220 689159708 223834175 741940773 419209198 545766904 503776416 418543438 263361823 237254406 681142505 888865185 324873835 244961321 697439696 727083378 572422148 509384538 613707202 227551564 578554792 883974360 630571936 809679707 870532163 985905401 600790691 718015353 505534701 273965436 569194995 675233753 322483685 755362667 713263345 579806455 998472555 178050797 196301996 217352981 610882143 975918595 145865319 896326525 583054995 221073407 916792953 364242495 716423660 570702914 227444828 690701454 487079938 686476215 886844969 669793557 706608434 670050525 607135640 191583639 805093022 147157085 327808568 928023887 596828237 823809910 423752656 750760040 388333422 519698079 783174021 483272793 591342624 149611622 519837354 241499519 271391145 893054360 710420000 577495844 800234167 151870704 786829754 842487051 906919554 892368825 139178932 117254468 232015207 852430644 474925242 720299560 555205733 645308651 131068486 745881643 482890086 936346892 427959539 590611202 703827495 533666679 720418620 369248534 888695759 283287064 904144031 255158997 747045768 649574938 661781458 615375266 964155928 689347899 965126420 786393062 451512954 193761644 899131291 959389550 173538917 680589087 883485645 751559747 492380619 805297277 516846192 772941932 611755242 702127489 337162084 830666119 756639697 997823076 195132053 583461303 702789021 357547898 376688202 408007820 852132814 856927482 885124163 334312913 547170244 257892439 141131061 669244841 682019952 922511088 973290125 377328909 663642847 984876248 244865510 514784107 522232967 720322611 911409648 217146881 397346670 815624725 400698154 656654922 871261857 589114497 604297240 769571088 281653451 930856861 715610341 817745365 240686123 859912920 675125098 768938858 623175763 167627113 899548770 709602920 235934367 388384857 126655868 629246681 424674918 143411507 940986641 451382393 624956475 587879289 758976609 537134200 200970230 301759284 760611907 637964681 774083516 177376823 652204628 282905624 503069157 672790326 839782225 441539679 709755488 871012868 171580569 276065491 142661795 127232431 910466883 964714860 208976160 312041177 314677132 492159381 735896191 978596373 347428262 767426303 612798147 304323884 900034742 526390196 918942976 698232389 972426298 417588839 241369883 633467781 692415749 126135700 674656797 414166728 798101225 877237530 829928875 934423653 972995445 392165203 347191774 618504998 552240569 423231930 745721461 699624642 103993080 992985499 617760709 759306208 943135917 785326279 498676221 445421324 963387740 711029281 856378776 394518533 713669501 697168878 493412779 895533613 322152227 166928244 689176472 889639622 850218242 119781868 974427647 592343071 565594475 575076590 668159870 823495705 254911537 593117525 143204932 721488714 525425817 255448618 788806521 736185141 349653275 146902757 557207875 996589696 423895716 286651752 271800437 546672803 590275523 891265902 257956113 364421828 221881652 522468815 682257197 286623542 778816828 994995819 881825882 633556879 767933521 437044821 305120274 211888039 397481180 998193985 576850817 750736894 173766206 357879949 614257675 115498279 975333755 439073694 930834310 417899642 595247558 973483957 252127882 480745252 568372801 826397369 577965062 559810401 389242027 757710092 466838724 818532216 361378771 255158746 522752244 767036450 218823466 839132618 899407708 747179713 313822128 161844033 691632199 731054075 313094194 697120931 968020010 418110261 756950013 913226499 650614215 123166355 845161453 425694837 226645121 224964540 292374257 179384813 121925313 647440789 422065279 178058421 320371030 308583977 702566628 568598933 640100784 614339750 852586596 455282597 851248469 517875449 323977800 369808540 793876162 286254009 997898020 610370569 459151461 425796241 437931970 781435544 214053958 567457492 785779557 505563863 428791668 653862871 832967090 325991437 556732681 574667403 590662027 469507992 978069257 353323966 680853186 664870498 521591234 811127049 983427702 923712068 939024724 593269469 587746021 529450642 929702599 777596367 452028435 973868110 351595331 701061836 979430655 729975665 732167664 367649394 189594760 870665900 724878236 724766101 316093961 394440018 307216372 301997101 199511696 299015121 939240458 212287976 429751192 885985766 939154098 942201255 195860639 567160892 669435813 988764173 258110254 128346522 345009106 783487342 535938026 643014478 114334241 847826011 432697786 754797764 656630913 986426824 427240072 251968771 704971345 402890912 813205323 112049645 861979374 820786017 780127007 377140941 186805145 347464175 673551673 689706496 450584123 530203689 875199544 203575718 987046527 912313436 662741279 399685314 158849651 969616644 359761322 941016965 405822382 290153621 317198852 707516751 615572847 759451279 901168544 227023076 705750574 163332197 194578414 864612066 206555611 424314490 324404579 461180206 847127109 660629014 334542921 793465352 271499326 811364978 442553528 316756992 332136143 145665149 439952617 227778270 333135485 851559135 433078304 741173696 684604029 700741202 786058626 991728548 310084722 483190882 225705162 751939648 547136445 340597539 360379639 418591109 973441655 406079290 722479021 146420841 789431552 585136886 939655645 897760535 561070621 143605437 277153842 679863124 447968516 314864992 487251440 508076556 598718578 681633957 990437624 581130758 722838975 426944737 884769641 200135171 272897365 522783589 295229511 182251427 679208154 401124570 593157846 352957807 103171934 125109610 337160925 177436807 939415313 842283809 253294380 473093437 408352726 656673525 783922505 101997016 762701587 792732864 901977298 632100696 103382304 482789820 520163542 253330719 371554612 848358635 892200399 405801591 435042878 873079512 436309603 544049532 473088177 499050731 578015557 652396121 960224547 771685351 289839858 666135207 757431112 512517348 729725912 649336872 598609199 204060700 910417356 695524720 483837534 469438727 123617768 339294304 934471569 304818986 217797214 294455618 454389932 892329186 880883234 124471794 402384734 454859318 680191008 977353643 240695615 154489565 765993392 173541300 859216921 120586844 505075504 524283053 504004242 684013082 837325174 466141717 738801947 680565948 660044468 415251563 964585278 728191476 978753659 698123390 656369172 442041363 593570241 548334255 629394286 388501680 834760336 472874872 803251714 791800409 621066470 416487765 452795192 354666918 118301773 960317298 915314344 396885201 142243918 764554894 697858548 475136825 821101136 350715203 453386276 781997856 784665374 628495323 372420841 834842542 120996965 915290721 302902256 810375555 541769790 483680071 466093866 660650227 162176388 573303599 430465274 261328880 220762135 157511100 721143950 231847826 355710295 529202886 401824438 338808558 158358153 382705057 199285764 570201157 183128236 616697911 603565140 421913419 263683593 774842085 146487509 595722126 294963852 893151492 812917316 896044935 317943847 780305254 655339365 753683639 654711986 358417467 891728004 515777012 670936809 861102317 664212313 752029619 665172780 665918151 697474342 929506023 633479247 263575923 445662971 974402095 709394412 317881579 505969535 835134598 372591377 653972565 718484131 886778237 113819249 874228712 899002993 333474423 361769398 252994393 547590687 957672354 664121582 229324323 312492386 594874917 217450126 917235906 938554807 520033204 976757872 469603207 844830908 975361447 945603109 702428780 594111376 382249044 280500833 456802122 489142563 882143501 984564752 914134323 708847042 537025358 927079983 844372135 339672068 899640338 513416284 367188605 489175334 164324340 375538801 421224796 368496611 785268341 253206958 661263225 343689721 585572482 314465409 676669081 168861528 785806267 577797410 300160435 169456867 743293130 789924431 145014673 466476560 770728942 934703793 989568934 709233431 771955892 994706059 423770590 865936904 634706015 882912319 674925448 595452675 559990045 479731083 292892750 109966733 610501797 454968681 412222749 312382434 723209527 920452251 668123457 307436279 168355420 838078082 474918060 767353356 374748453 740445222 126812160 685286760 190273095 677912677 408011972 512075496 481164463 943258983 723613975 562731125 251819186 233179540 828145374 504825489 124777647 367638383 954713067 856545836 900673840 163754477 546281761 285256765 881861642 298438246 932203323 147364554 876599917 279742958 337112913 270423067 852832860 261206275 376353325 905230027 394239446 691445405 107163627 448074203 822600761 841195601 609941187 171408913 232512001 294344309 442172867 335326203 696087986 748747919 595015072 469966551 462217303 837199628 607981696 929417821 575925024 127517252 409307363 214563474 944024525 515013016 613101439 283200148 419907595 760326569 797320823 690394707 849585010 975802040 408439622 901004711 787439324 461162194 661127845 688511663 488548995 477041872 486514375 998294710 215778715 630507314 171257343 694302025 473167012 532988671 440940991 240981401 644121006 502431754 553426050 943843591 118005283 272595831 364390313 711417979 179747715 431169292 681267475 391549510 406051512 333690274 133513884 630937738 792365607 668906550 950662501 512359093 402970895 262665980 846061259 149106170 989115413 556480781 278623661 772076090 618814129 193410797 625089702 558592088 317734370 888471265 303440135 664770815 304518331 566337207 177945309 160521263 590309854 316921489 101138590 927441712 868086128 602265619 896199455 565361340 128145085 138276824 990738788 756187802 715204772 152728139 289002369 688128392 554344755 510199574 818699289 436842166 164465343 719553314 672969108 705532708 305448857 891216981 650409171 987752807 559498063 964474074 851691913 812675150 588849476 561807338 683513786 954602929 233487515 368524484 798134090 708030381 311198754 216073134 170840320 308737435 960627942 924604502 525649315 617585402 552913613 585038947 672373403 220707918 888442193 276714107 914538904 219543101 797263332 856806612 709219410 433715383 277737274 962869925 992988242 521347675 138191716 781149385 413397282 782773221 829271874 615916263 496223858 249116083 338030668 468068403 618709164 123328760 476535193 407261218 843874594 171231178 471124162 174549873 739045358 934193710 811025774 794584383 797783282 906098078 147326441 629235932 646713720 282959094 878386880 183360910 393234517 335614116 392936026 406346570 260716457 292378927 737975362 383550891 695951059 319798766 957660512 597363013 702975539 962525991 169620744 393985144 858974512 792546623 118140198 184598527 970745343 446216033 731286217 736983266 444424935 728790232 193399804 380093635 144853451 470332908 294681787 976084457 655439178 612215249 320114572 984782309 173844166 848754212 359409934 810433250 997960750 133816207 110226777 495088953 888644689 298105997 145629115 272365917 202987206 568243436 551718403 504670233 630368414 741060619 760333871 222243441 689312912 586945728 290091811 711606154 540815140 548462674 807112677 393764878 923085071 540587925 708834533 975201658 490272930 273975117 936239531 946998661 662275482 557503910 755228022 202856304 493606480 988294566 264770819 907933484 302096799 510767566 846875475 475440798 934658012 416595333 485690001 447579316 943923840 873056336 584883165 850317826 910732094 565449002 737358856 724687146 665056215 462710560 411094763 301876134 434721079 170697635 194402514 983899759 540509935 740174979 609300324 361179188 868559582 676909893 675302875 383479353 965502524 856125233 342675443 893031235 808609842 788538522 310296920 790444887 879841604 118297607 430027292 771092275 143118695 557188908 756745388 764604815 623908598 152013609 426613950 220887691 758900122 783898918 801638634 972404855 754457542 853892073 793486307 675475059 329083757 694282481 259605311 860185611 569479601 113435607 515004294 394054904 569542790 762305805 145981873 353481631 774882256 747583235 247784233 773316772 289284396 774297716 821540688 820720099 116244463 909541409 127723424 573567306 760200618 494546516 447070060 292343403 362807851 479655975 497001859 313992017 481307308 202895570 134012625 567345319 767958599 913909650 384298170 505139183 573338740 181846562 306723896 236406360 150453582 777034323 538768244 627412126 518107075 258506854 132289118 785869989 853918202 164617503 508993788 146543687 933803158 653798375 793493085 193460929 152875059 200680607 422127484 841710494 463695390 144048305 783721800 884448088 497066540 449611132 215482393 879601742 656250973 741026169 636620426 594155874 585482914 422115357 293723245 542074702 376961343 568859519 461321355 714965102 844760041 547322844 230679167 776334672 317730335 472365594 261642468 234271311 207342802 420357236 468554742 911658460 479651521 577260904 448628693 522314957 311318699 951429175 466687568 722534902 167248415 290998251 629941722 300987585 994487257 817235162 418171111 212787159 187579302 947217334 519397894 863597435 545180749 708565718 105950487 408669707 943854664 443920763 659597780 397422436 538632038 997415186 904266865 541829294 592010667 202976833 402427383 325386862 402908435 553828540 555539029 225902527 825648393 879128150 867162047 569088743 602342496 716472471 433672812 858415323 494535746 171997235 131367796 408194202 211294471 574330471 254055745 308463351 313496192 838290887 891485060 754160921 923870198 281262356 383911608 410803477 546401058 512759630 380709070 820662417 336319597 385265266 426047563 292476686 677144532 257845073 783861272 892196822 763064089 315931405 149395096 935969862 386344516 289175408 621740473 972658818 527462951 278944202 424306764 362153941 450009826 726445103 577543976 109544615 726017677 300327031 787207417 179933396 631988216 756563227 956131776 149079559 672299664 925149736 689762739 722508811 379357568 101954827 994412447 945180975 172182916 123068236 574639607 699334849 103986815 210969148 820612744 334152831 648555512 709609470 210180361 103224115 324405249 638808046 773720628 153710560 411083833 509365178 505119175 653386681 805186170 881383448 657279560 384983318 806679135 224109160 995318657 323294469 741939396 227108498 740303680 658208071 659913539 875494052 772556922 883007462 103893249 972076398 395737557 280382062 242012014 877654470 841484832 876932832 674185181 289798680 640958724 218355467 837854665 233610935 663515648 851483822 970981203 663127828 598088944 519037104 593241605 441169220 529675010 819483546 956315192 462923865 815727070 962166922 952377230 777450238 243582488 318564012 833898196 320570387 217363653 456465930 351436223 965443414 600362467 771971671 483222031 688571085 957005158 326801112 888582919 620390394 515957330 211352575 823320597 571355870 592401655 497893370 544936506 269874978 980728768 997192364 973394108 438602805 778770263 403921703 182246050 714304674 959047255 131219595 792768540 724116856 832943638 512884395 866200003 336308994 132483819 649241658 927760553 896027735 898521122 366775504 713870285 169277025 250676370 122381594 326785774 309634888 503970776 998142554 239650210 323521413 437729506 407657137 885262498 309034821 676179657 657133969 232490070 952174240 272476805 933031928 242911525 849700210 167651499 963238445 693899537 566392071 567733523 680820461 715583933 758068806 207144415 504423594 569116445 319383314 398113144 671442982 982593476 963181287 589308384 683459541 738894579 486410448 596153615 826893116 271074342 422661297 223906818 992249123 493518375 669143144 459814090 886088764 166073337 375222847 493232250 181421047 822648623 311557941 333682746 974909072 494786632 426550768 937097827 697422170 295832783 730292163 327005037 701131780 256765842 826872795 251145014 531257388 135463750 482081998 203862902 729878018 599324205 613453128 425359078 741198328 148435146 232753755 675286703 524428095 611724812 225793676 832825915 936869120 476059083 701629390 246805001 328694566 635202998 593738250 263890794 729148830 326692627 931741886 780639374 346923950 699634657 345102523 393720402 985527304 345335131 333533349 988864149 978506067 636131006 841233747 158458555 276247845 886366186 667279614 278056011 246318749 955415038 292361000 197243236 432445046 496113788 453799889 330631902 300968847 791060002 607404194 749403603 958550372 584697603 157262378 526023798 561289981 239885528 852234299 104537842 560706511 224304208 197224818 679478441 672509238 230035172 901132567 874587642 742603323 328802394 469998029 994696539 902431525 729780750 355557927 665729194 375743330 282600048 245533262 442646824 745686300 199083368 275811705 178030777 228798818 535523103 203199298 138986393 195421004 152111029 112007823 531310289 879348050 940580428 810955524 824313509 455263940 412971513 449912950 135947681 763148917 178604148 345889158 739986657 295053859 581697377 118707155 507589464 965819301 838375989 908671772 696270815 590341468 232609419 670470601 399733086 281105115 807541709 942945639 995985420 203937801 954784527 555338993 748267190 549245699 815382987 350377565 483816190 727105620 957525139 112770623 173095095 903248683 245519048 466924793 787973485 737644108 866058621 332015781 869843389 245467994 876329504 720088926 115674317 309062155 767870935 523708859 519683996 927697315 993492172 658047836 738252869 822409938 393260841 110009031 922209441 946048761 905252742 671013360 123878667 551861673 356570944 425486004 805245709 363142084 615766031 682330127 160943313 707926100 106857140 520574805 543463205 114318969 705632528 526819558 684927469 153315036 399049886 373691692 664107537 214858285 872781030 574147579 664429926 364654378 828887219 773344372 689707366 676114573 191495180 993486173 415078671 229931811 887141628 140496383 465990602 563602455 210503881 878321426 867912570 110098448 763799747 183739799 277393112 712558618 237220094 135609559 398882187 772293980 252934160 305009185 520800231 519964374 905741196 309186894 287300138 652582559 746341811 796162528 507231819 864505415 736503059 712165225 890707350 504793543 670662573 319824235 116289541 680595030 409295240 571645664 503735716 750060792 842235271 107206561 892837401 935504881 541705088 288722443 498426900 872718857 509030430 657263846 622345270 216801313 305257082 544551477 387266270 204636138 313374118 477206814 180680104 909255496 411182858 219177998 951391586 697300771 583738266 335290963 545273197 568918882 206197438 706171168 177458736 420508450 789239769 633774927 777121248 101882036 608737198 821391474 621341193 725605631 347969946 886614805 136235300 882318893 938334094 862062670 746674439 116310565 650536827 745091377 131807759 729555080 191611146 658421779 785892047 833145831 253266733 373888308 658199950 217444679 535604180 715782104 638968266 890431072 515888015 797456605 447579705 391602734 438666730 491506118 599145612 673360395 257249509 560370303 938093245 387559305 970182526 850044982 330355883 995985544 243531528 691894513 518415290 707951211 342646555 601482435 945179861 758130320 502903817 600762286 149240557 458007898 774079655 168641190 470913554 288727391 775585547 708610891 941588341 712141423 543367790 646303876 106853238 235069566 711036075 561171250 714892359 939613350 991776325 857694385 746317196 854688294 290631021 537350552 406261560 596269317 775050707 359804908 489922728 367627987 653559721 991748991 650276364 160935683 954133951 534013826 436688996 938648854 569241178 447341943 597451712 285540402 308432078 451330494 942343681 818554567 227858831 400611476 975783701 426106702 898062876 992659804 241829106 596180751 782351609 430523414 891905546 521382415 765154880 521830215 214539284 221029839 778027337 292428888 126668800 824158627 494773512 635770491 756432233 426665639 447659529 499033634 953773191 385313237 756385426 219525149 428819424 868301378 989949241 612153318 182480578 765642147 366297752 834324019 579941081 720717885 512820706 160639541 590920411 405504606 879783827 283018582 286620647 804534631 543741323 153040302 129788259 569186516 547850501 235134728 403853876 967932277 105822391 190763019 678015499 374603622 429838151 774306561 217863465 310510613 693145888 684529304 209310041 811575283 921811396 110051766 416641822 781385831 649034327 756760613 872801533 446347846 914573382 638041473 370535888 680518154 651105740 676642567 456828401 463547717 909962313 848507696 285366961 536371892 820959113 998917128 854602561 398520644 907406364 559630402 564731266 444796922 363956332 128668467 972771608 306763232 533819677 133284781 666105895 341363280 394552626 249769281 606441730 464956670 481664463 197186493 911044891 223159338 407651936 978466824 947903171 456999165 197140453 288751915 153916150 645312004 548030521 686808984 726676804 235117588 853911555 555403355 292249784 862872970 468751397 946775894 374212427 834635576 831966554 140631295 824351166 487997090 622702698 308894870 354805047 264531568 238681496 194473268 370522044 595350770 893907419 972860940 658204713 701687546 516416336 197764549 690484875 295321930 115060464 421157262 145840697 581868764 464219959 591846994 571967867 589096021 911045584 760100420 115014126 393248172 971489489 978431432 194573156 419910517 421623185 959884634 169249179 625935770 869115518 741288162 102431634 874985604 439455090 837224129 622625947 497698478 307936213 776870011 986104267 230887594 345883617 548860915 872028370 515610659 692485590 159053407 596918133 617381397 585636338 927238211 417136283 537114400 288543878 171245516 338720545 935887864 541085306 860311220 811640984 891332769 177176700 563493848 245535343 101322427 296966184 587783381 340262092 830217178 735554748 539972967 778415320 765740412 877087760 304615958 360853792 463471751 933219409 851994224 575587306 137000338 584469984 676206932 517069361 807444496 190182614 394424413 741988121 644868056 685209525 577787035 519685212 604682704 143740152 189666248 905154867 340331290 290341440 319467605 378191844 932930281 976998840 800136466 755011218 615094788 252466689 595001010 390269952 618245515 280002376 539742506 120601947 403996182 533682016 851743013 490585182 745681908 818166536 551183354 348468434 307910893 633674136 525359440 499570011 901515666 935570332 507132383 614805481 461703711 129831430 147558166 572279583 182923988 474548919 713018929 880660313 156654861 814072717 355318093 464495070 812451586 892559572 357400177 169763685 620862129 553342926 558266974 292809957 147004813 725048423 734657962 763251401 444682446 270109799 675402968 576125458 745597926 745342994 739316157 603086767 171724260 985790174 776656216 239442577 805971581 312759686 663102874 511539592 891146888 293493612 984077315 159322703 720511997 675676128 699757219 997620311 257181433 338689806 424656493 103554483 149425165 739086520 842584725 740403884 456869862 835882054 541511455 392125794 977241014 625306916 131345732 443349397 478114809 202969735 766770536 649836334 715999704 572272746 754803969 511566515 348315593 566096743 893280444 417185103 694030575 894320250 507360665 563665392 558775193 389227034 569620758 240222787 999733312 870596838 664969460 417643235 405573577 257283292 141237445 234764314 816218884 480808909 889316342 310869844 465268122 802191906 412699687 164634743 507932780 344767156 175437570 879075582 958625042 861710619 966112905 336555140 963242941 146700718 994299699 764996767 580686155 864068100 254129928 268262753 463454107 698200067 673155346 581808363 246688895 615615966 363612431 567529539 849235597 265550607 568652173 775156525 916075924 833047733 247726500 440789364 306121649 598738848 344442094 252635861 250392125 770021848 911910662 362802680 354443263 784871508 957159993 180586519 868507924 240029982 311111629 923790792 863349801 875900117 647825118 716353204 371544719 693412324 444706192 907079248 906853221 823960662 956008539 609829276 703740515 920514180 507552697 166531377 529646753 989445890 506990696 141280369 580023206 128371325 296310989 226820529 385575831 533909390 802781377 655759738 862652422 314647039 474995069 211976196 165315666 151528133 751346959 170271105 105853603 355309266 962688261 939946464 338615899 907031263 264944665 132220726 529149855 323035766 557577533 389715026 761703335 775087056 437471364 301984074 905463965 134938417 850099252 809891534 653492979 901627412 168856984 372830593 205192044 958506442 633916044 232841782 812199584 293225634 351192874 397102278 276240266 418328564 436971416 506070220 108906029 117722189 667149371 945829712 533268908 946666783 591335145 536696916 800909558 853811998 950574423 658248467 448633143 335334592 509075687 129986599 393115145 320261020 383888023 713072579 771767833 935261550 920479288 990816740 267911476 898926182 252749149 494388157 885230659 492041152 313235162 970511934 601538350 738863599 910522881 557414127 504246414 997671333 760527712 645684728 876434988 116807651 425252852 763684002 891757740 785388457 941453634 534173012 695234452 410061434 505159244 656070946 112834867 827279278 798089378 836837947 381788539 955035617 612597245 238372371 825452536 673284656 718001079 790685489 239676597 509582053 812795861 468668363 871576759 578436065 598598915 110053831 106342262 396898354 523973850 693807104 348669621 201784190 450595996 943825060 924265392 179096079 968278887 111424624 909254088 974204911 821866222 293449842 374967201 596689711 900040610 714969092 548389257 449896164 839349822 202068673 554372907 793814382 577333045 712343924 129507426 821895614 855450406 443094810 233949475 789435147 328745424 880950881 390233898 660424949 124822492 499737129 985693899 827175695 600340012 468497812 367794411 147833495 296636450 845653442 410606787 919139174 534822884 212622932 102640840 653167238 390835662 250132241 678872032 891335928 770828415 708249015 677320976 172319767 236939114 632920016 365691614 218748534 916077148 339012900 618400051 604808776 990922107 671656474 490225475 283261406 427574759 262624620 931358119 168642457 201893710 810673836 833343083 969029282 945900200 821457026 570857491 711177538 819744712 331483199 134626554 408552593 569753968 895062681 274562764 789470592 578275999 393315524 810936260 387377312 734193636 629764716 588875794 335152307 741551305 243730036 667453855 995396776 314128106 288805970 601647364 380635562 608226334 108229488 451478770 154205493 816569773 878460870 210001497 246616269 463599067 351783144 899988673 246643747 900825090 552307991 237408951 638728795 586277873 461663877 151243833 955618596 768656120 180987542 658013806 702771635 203018884 646922569 229981703 308448609 125143993 380357352 229984959 554634140 172485646 841889678 480366641 736572470 804837264 184114205 605657092 572378328 723912310 372650491 314876344 682070282 148290719 541029045 621534940 656890532 225586085 570276276 469014813 208232458 900548158 459017045 187732439 144572441 901465972 555255110 635138173 155618386 533718808 522156822 172931658 263569937 937536121 345759632 547862215 912806503 469939069 665328019 546795068 654461560 230480878 342137067 928885344 832208998 608393780 383878458 684357487 850735169 667852415 867998967 600726641 149915816 570994138 270955167 791576729 727031717 265153590 385748658 683225496 951630604 442900110 296341990 936986831 297842611 893674621 425504256 343089054 134002098 189256355 460769101 849160152 437454388 649265460 135771917 875310269 246374976 170672073 791145140 701929550 589709145 630662524 784988195 823794741 582421881 933486557 876373526 465628371 990027083 473166849 301973547 738149147 109856633 668302306 649914245 171812392 383906102 155971530 314694411 245951871 572389347 777426963 269805987 774127443 585301381 662506720 151360039 608088106 653980154 642150401 459770054 191746450 962508553 794624238 272868037 431941109 214405936 416503162 823651125 695031291 134533489 261632157 989932646 665199875 564973093 606125978 279494849 185840298 413244366 492639735 902311904 730158567 380892771 656762504 110669125 312931185 636260904 698738386 272157872 625420094 516397087 552325105 235805520 619503243 705064025 399175329 681948461 244087529 192801520 499418389 117486447 654633317 942114727 430158889 837649748 720661883 567577181 721255166 533431891 876726281 563712257 943939470 422046542 433820729 891668968 362841530 983015039 859877427 590589081 517586278 631026894 950430283 114652965 118066748 205743237 675403943 549812412 667459011 261049422 711122975 873507601 960848095 633103482 939195388 415701724 641821331 707921418 248507467 647555605 156740922 288868647 831410324 945887577 455929413 113073854 536486411 554708899 627270238 502402851 622085730 348398468 340884463 276363619 642443775 688572938 595101592 886415318 637104419 661369398 714574828 999839365 350786089 193475319 412675311 695830077 203568662 694777586 550933740 561298408 491338593 359475905 490499777 396013566 312478580 421756933 421880050 725652837 735222223 751124258 558838330 175301555 620243067 493135033 403769852 845116061 688536437 878254523 853329093 138453999 441814635 493211579 856907133 461986921 523033778 268936391 133646255 762730035 659952960 361752652 130573522 940903766 614245924 690523520 472715364 323111014 815108171 644034235 598548958 559494640 413060594 277116194 675603232 647085268 247946377 813512979 171104490 282970457 317468161 777959667 318686858 552739365 569721777 217490641 404075292 277898560 309115002 681762253 714664054 558366991 974259393 914787528 983678768 635648488 536607468 539642173 979782363 499885535 260041201 108595607 398746982 423140718 158896348 688184169 910383766 167002512 334472987 749385077 885815638 116264666 846664436 959836002 508511248 329256832 824256554 697262455 144301174 616652058 926851642 488206771 584597528 594043149 711040866 576545825 429062578 927121020 463734831 732781843 730474221 798190457 384278619 508169778 374762244 688632211 866955940 654100987 898653066 591980167 608429645 139666758 127203747 318671828 220586914 678485388 917216803 115972298 860882764 192617612 715779631 480214039 998067478 304915989 557952606 278749014 300007854 558154326 617992204 522579220 664038301 113683956 933607211 906097283 616578424 708733981 683285596 556369685 322191296 829110918 301131222 760078772 403062800 934080556 484473525 511730620 385256211 374204939 341940835 425673117 984739914 543424831 410597430 362653010 666623571 348216491 835445504 841533482 760855510 905086059 180667928 799839014 358410583 870818791 993738461 216608873 867423291 479243357 568485232 707404832 255934585 343658215 542831008 465679611 482400483 346938622 815014473 210671854 850583460 664735631 291861872 534831474 907450333 649849053 871017368 406750258 928617436 667420373 921827282 718016261 358511455 778973093 544282114 112824618 161714026 744371862 720147738 453799435 523447056 672233843 710730950 615972278 950696656 671131921 688355299 438698970 512436696 387815461 530751878 576101543 974232292 686109971 730189558 767172630 203574908 340722956 747177612 649217821 722500359 872146832 632692296 550249443 335650625 835686719 788083600 341839307 802809509 374137888 718917253 407171474 547118360 484196711 654137409 328945668 567150068 910255203 546440066 955453068 763212809 541319702 310684095 553969063 329808828 913870625 684962996 403052607 389928721 230104073 483759284 112987237 205396671 939261040 281280775 879088359 345157205 301291816 884322096 360333863 816819640 873556410 606918715 379506019 621189442 235455227 977420088 639210881 829478324 429044295 217710573 942309616 535433807 398592559 524463343 944349195 299586516 100786738 335231965 835008881 889447170 101093822 154378993 668351372 373866219 824648709 954642136 406823335 937273032 949777626 860623488 391035777 424447079 490425680 869866737 141045628 888292054 997865768 130777719 836405756 826092277 232027652 281848052 270252080 983506255 546319305 732866711 602628520 385712312 919405955 338954236 448898033 123222046 273662604 595551647 210881272 153043564 306209653 119465312 366665200 482720345 341028641 866923498 535111060 871909813 743708482 852622244 650180225 577533616 222466024 227605317 590807611 517011554 335925668 819733462 984897337 188651466 967205744 231956695 640861395 143265239 723831213 995493144 694616632 462024056 727627439 388001382 272168847 489382904 112354500 472252815 200924065 270364502 692696952 775072798 575588667 667243277 379562708 219524074 249094328 796421064 636154145 884131133 468018298 164050994 336243088 801340394 194824659 969921838 666695826 514016764 507622958 819003804 599583670 230498718 908226792 410551667 987476545 133640562 908258032 684464909 923489397 383134538 775816629 708205047 901173647 708540861 592527249 646601735 205492145 535075861 247644536 148970978 852237968 529780606 889168068 459158621 144444300 903295023 582665109 185985739 240774694 863241536 430829328 857636991 835095512 854575109 476918106 112833524 326795533 204306771 926211825 136588831 220616117 796440955 752656033 353235516 615362511 392797057 674226804 881090389 989770087 875807277 191842365 322573294 295453672 284320488 961147640 930541607 467787138 161091155 674402747 771379454 912025480 550421407 127858921 933582747 824699109 477532237 318493855 857810693 926725885 554419663 390019268 477234369 824522916 218708247 932129188 165516124 792154167 130757768 491308036 708940857 210660800 374906227 929180286 582417784 682246709 459736762 992620764 527988061 586033609 226562443 953917342 837089510 833110200 596058800 409590886 900731485 408676389 577190699 197485751 238995799 745090123 205772644 754949708 245227705 573755158 692087104 345268056 784951962 586123617 900839554 686590608 540065093 253564952 824364084 667021715 762664242 230342922 161062399 710261227 972009181 230834808 491802551 272297347 533547549 495285332 919686349 242854350 962886847 213477804 545032233 670137421 245306555 791949271 359363999 880770670 188700648 919238020 306031490 977568718 665961074 432069282 506040158 465850023 376962890 294366969 811121851 309210698 698098778 485471552 743964493 580247013 254708055 739278953 502446049 319643762 668311647 338117977 233251454 110275547 174305190 651859434 829392182 906377582 918823537 164602125 769020084 713397353 723809143 668597563 248575763 221557711 869378224 417711071 973571069 734991105 583974782 692650821 163406704 840451173 624543696 524379119 464895517 270994248 421396260 116177314 594408515 537935918 777924030 291650999 941587293 435497255 278038738 875123595 326099564 342491256 224290309 595978325 350848769 814411193 647107234 522946455 728914588 333108202 544041363 408491931 999632051 846236732 808638432 712277194 587227565 590081037 706306807 815301489 477839062 986618141 512649551 383305782 984658915 296343517 256483541 447060079 723354260 345026768 843605383 693359348 989849270 637218850 974674112 519905933 692917326 601245123 240762504 830167395 394177319 518132221 187673425 241132985 285896679 659639137 940050399 740211706 755350990 395871692 332661658 523632786 128929755 701848350 288087483 311145144 945566341 645878622 302267760 189856507 913757832 173252441 831321105 318443408 928771773 533389712 318141789 552455268 292247090 976630079 325263774 666266982 461247612 551667019 379621598 835714647 624199150 498707321 179823378 896964611 559720594 754982181 247297701 881359807 448615171 680696579 287456879 758406631 972787046 797462210 673093025 634866378 894729705 102958275 643964842 428848808 486712140 398474189 307811788 623080605 446638705 144065607 891800934 571183327 982861317 148266623 284001642 967100064 379938201 150977462 522579648 975621899 146553049 744043732 516084170 765189703 988538276 199727137 569160170 896738636 460436907 322319427 284466193 793182449 728798465 672718141 884077346 233126035 260208772 456747180 591008281 424565187 122688765 516309816 233217783 640654237 970463739 785771498 630486062 622759507 146495616 100754971 382717006 190268482 367554944 112276936 644077144 480733122 262125066 755932878 891819096 587581563 553808274 459139335 536649782 834684560 851271578 567388044 932413608 114231459 196795752 131042739 376734967 185627154 786773664 607543168 341889147 819762302 457176180 542749330 865918772 891669628 286000791 585969925 981037987 211887950 942183178 675686513 322049527 955702590 776406875 939606616 109886358 871097208 794695578 229119397 448868405 135963723 461843538 732057598 358323323 460434540 725877159 955513031 570672474 111624867 883857886 368269155 539947476 858748388 713719139 571865549 504458129 251131535 578788586 464945517 138664518 108299723 734052799 604696879 729503050 417161576 967225897 147599171 420185638 842297366 679970614 658295410 329766934 997099275 319432888 455608213 788864137 784832107 282919190 669710869 246859138 895845113 334451449 808876910 357755356 570878883 565258741 579586631 695492283 501512819 861364754 985696593 445016212 810604459 998071837 390805693 853657021 635122025 998483556 475595395 616158514 183410858 153405092 917023297 472879801 807058772 964435510 745505964 588259616 466348415 353243901 744168611 100164214 288126484 807559770 620546817 416836887 820833120 689854130 775113304 650520019 792501569 352224768 606954833 338528244 915237227 682838413 109504773 910312975 587727154 169804809 743815311 905311293 812049459 857633817 618248567 476689999 441070544 787671860 876857058 524634811 259910245 231422857 700370473 147061844 990323232 176553705 647660313 755645421 483396342 253156544 963280623 269180423 990422335 761202398 406625890 880864917 425554138 226201299 603134834 116723316 843630755 834814285 913627955 724680154 736881728 760479963 911244840 271497204 255493610 815310970 216424715 546719720 375851898 699573601 198447430 157524540 467091673 213075980 114563929 463647749 280594832 587075270 270228991 378576832 773190827 119495513 883409970 196926977 473612094 153772008 981789879 372920534 754721220 899838226 612149456 728431138 990251922 734459483 241899815 924351216 244102832 985228066 722837457 488667809 408319762 827463866 148187193 404644341 930939220 115746834 708770745 426119610 536935553 635744701 769255006 336421136 756819826 640965766 776526941 481262280 709903805 760966626 804692040 476050073 991582444 224804313 716282941 921177927 801329635 448980493 244552453 600799639 898832938 519208124 384601041 578480259 890616840 635261023 876149372 839165646 321988814 366086970 798861571 270573487 623574839 618266428 782421996 701379715 908603356 471945831 954516989 265891677 729344512 692866960 820155082 657508234 509474917 325773768 306786629 380084557 992674024 192110195 489459003 572199009 983916324 232531613 927617653 589321429 285623833 564265770 928610886 376713016 235290477 665010430 803314509 805795175 960753776 218867619 735127223 632288096 980279317 724997858 980708993 978770274 207925411 577836644 623375088 845745404 603578065 546747981 329805222 205182695 613049723 266981252 456777536 711112041 565228257 537998306 437750311 865042068 185334982 258589855 825062908 431236619 766836683 136042769 955701365 639178389 538759564 368670879 287182443 557393821 899081981 474087154 306704484 406131721 868612643 455431188 645241155 166550972 292347657 939791585 498233225 814032606 175876754 953193634 372444041 903678900 235577498 387710130 485341546 154018975 927268421 190523328 908451501 104895051 385065216 289632503 523118060 878531521 875415934 733474938 403205464 634412505 871811432 124395317 928130012 810238909 285049945 255757343 955769853 416747708 226737530 932909450 269170187 598176204 535062628 841526435 930627304 790004050 881658148 530553417 492345954 347498146 145154822 147693862 340937076 757654957 197077442 198550710 713643570 164582433 126153357 523065744 169428302 390677512 589881123 791946906 237410537 610379194 778479623 658028305 580933476 649727951 452977279 955536192 844458305 328312338 875780190 248798167 550462072 631161090 389935660 601276984 512757048 287445164 695762583 734373530 495222431 232375382 728205733 326524629 643617519 655686242 272898273 104609588 218345472 827387337 109326842 295554249 903959107 915264324 468740426 176058850 693274569 887131460 742651040 347500554 177230838 911852907 531010287 924383169 201258456 720486419 316353216 146198736 473274225 765352908 385248641 797796730 109601645 988729545 599122878 592746115 295076804 296384789 654723033 503001843 349729132 769094450 606630247 982564228 769212773 658005056 238614588 925782887 252695159 778392341 322623907 651940993 191854321 391962359 271493890 397546339 783295569 762650336 474365091 439026684 327041542 866523463 259130684 400373776 953298849 294639613 552327904 812948342 648153634 765682914 748947890 968516816 547589630 558236670 276203638 287852315 332581204 645887402 314672553 238289826 261492924 511690663 174475575 956843987 982689755 267884010 108379187 794052405 950653240 274436394 570517128 159270315 161363918 609209557 125506618 471998091 200544883 887263379 174200470 793384276 676118795 482039442 934741726 854370631 188747556 704177122 880355062 979350787 420969664 938363428 821527163 626516404 446237818 269192908 438814316 448801016 584810789 706323149 852151730 846315466 124202758 992905696 775480625 316170809 247139433 745081998 256294749 927626237 933522719 878424097 811770668 482318194 523899794 172223180 223071218 118774319 590816265 108857066 159593018 937523004 268492353 230199730 665809737 425824277 258075186 362064065 540323058 383640069 789065609 484381352 500909636 356882030 662110655 297132794 780113045 960539501 391243168 765797168 662781194 107142000 909033724 181848096 823866594 586889511 375582897 496784146 174558300 711459049 459932526 629354603 639575376 671521090 442180909 197271136 746232948 196369701 805854695 746926307 264532130 706056716 178292382 788397017 902048254 914062162 623982254 768598442 421923756 455883827 447876534 522115395 739122579 516198616 895568973 265889853 419217556 863386069 433380163 323969701 150385893 936570610 812372948 198055895 134380524 974976574 439173561 392905937 739468257 769816905 753678929 609718274 505373872 694256352 211359170 137574555 621507592 612673670 684803097 228948840 497796586 824371697 174082459 507538474 837444559 606039745 559003285 491660736 804847126 875195357 783130635 693600720 342498964 500412879 472262318 944602802 258937885 714240003 394570984 683586749 985072679 328921899 516802508 537962444 304725557 690853248 787297440 818879612 937654088 920925561 480431565 537895528 634170550 520335110 249680242 641794811 588935489 478663842 882567560 469961066 433138687 272186658 930251185 776615827 728816742 273239235 835075712 217965461 664873001 612089648 121264809 287935095 468611704 421671922 456525662 847263762 472045943 504496599 768500569 283127036 759752063 966659502 812677443 865100536 331959510 304053100 273768635 137854289 180846306 927863367 714559331 436638678 824616064 581236208 364888302 764138543 940663587 952443554 891336099 578121617 237391031 396435683 440678826 165493869 747296625 153966526 178371540 784598988 531705422 205091733 936693307 147302159 991200339 608817087 704832524 605552078 851481630 466130828 857595798 191172356 422152340 991684378 799206247 150608372 159200372 503085149 380393137 565426463 412499601 627482967 573017476 327091545 511717237 213122071 594679434 185980233 972642889 955430779 653345883 840443440 820114054 269994299 117709670 326326623 295298929 230714860 941251900 450623989 921324342 746549466 394696280 399032832 123307715 484226054 787146821 213401785 453247385 201662131 498561010 302697342 281548605 538762386 147395627 747912614 344090700 661012522 352256370 750642013 618008789 496811004 666513483 295874816 778794986 332734535 243221345 654784257 374409504 950670189 424087129 115894512 985667161 460247848 336285166 388950592 597108692 385607442 353850797 629580199 386105400 909105326 799751267 403696162 166998767 343006153 742971017 530192610 132411793 221891348 920706927 950996286 857538832 513148634 899099253 262618000 195703795 760610275 167451015 527926599 908180853 973390591 323282343 285041339 589086179 562292462 157564902 255490190 893181114 516406331 495450676 752273682 746884291 423947882 943820317 448849157 828543182 244978170 545974571 513013937 923290585 466079410 237944781 977365845 986292025 378636085 509638615 587886360 173864602 587110525 895528533 414159082 931883623 295916306 967433303 757863299 509604469 433923663 290480093 566536857 735974080 476572670 646713184 715675837 406756650 601490713 228957837 372693738 118039274 718662240 585203181 168224425 149793283 912181824 316258154 638558677 722769409 664193845 875744853 446377658 757618719 190711032 776942066 189811285 837128635 256354602 851520993 985589873 919436110 706638269 790750559 380333686 480203948 370920779 519510155 373549381 668104521 612031053 442089830 267317539 287650232 359938745 212701126 538658218 177926589 901681925 670673328 433174609 148923267 652660077 823729847 207885545 232981538 521439430 678462417 371404556 123037224 494455901 627044442 758061491 409074234 821448211 284998023 856435940 898171515 100370696 830927477 674082907 590977782 533136599 490550432 909678107 331887884 541414575 531135438 207907854 805325029 902503457 275056405 895972859 449814976 325837727 932764780 791688819 869815036 640135364 700102682 542635036 312030248 979391524 216688382 829045690 546555156 710046438 583145618 636693550 950930893 456894734 355210077 839007534 296220262 513732507 521086163 199966138 724747828 681499971 859029789 629205960 173232572 249478640 567690978 347523324 405952151 837421613 116030525 708649973 223764048 726464198 687201177 468888133 387479692 395942260 145920302 742055059 764693440 106294014 178626161 605429447 969470914 236791022 262008349 759787061 255075151 104359010 862418879 107531485 978429823 444882229 923260307 547148442 738025583 742528256 590280904 524650275 817498976 833794582 413709865 554286740 513253474 826663164 362205457 832286114 360273659 631565550 465068493 374314330 577706675 525484657 411557649 527782706 305403768 353482710 714066411 807002929 517447221 899925023 922118330 794874492 613845147 680580578 663824895 929707531 640555076 104506024 849336662 837117207 715541623 901342171 111645028 360209822 621075150 491025087 647269546 400082468 888615334 501742647 706055215 284710018 599095691 951394534 932520013 752526226 709768727 211632904 980232924 217582022 459345209 835839859 258258302 285326853 488691850 270191428 100726612 684096534 311418726 411198963 780790566 604206308 580539636 634920829 449876929 636795287 417505150 106097522 923956025 731890940 774057985 494783292 392884802 519352565 769060975 742711188 997129422 586464564 564316181 867239097 970379163 930170904 606837569 731592566 525136368 678457439 719114918 305002362 612376889 949247450 777111489 847647247 100491980 752113872 257798343 423577509 867668812 691294694 760311282 727582656 428292028 401061996 920462537 590937605 737158598 829679130 753454621 154962898 285623729 892568310 879339126 839354750 680606945 616554924 607932156 368232707 530934962 613922996 548115255 158297862 857211961 221014901 637002703 770242162 576986593 353284286 411598084 172476331 170958084 788736969 486149596 270273922 367831980 501185632 210627972 144906889 865939378 929168554 513836095 972083717 779584130 777191851 762563853 359292584 106035006 750781517 855329427 872283429 810982358 858579080 221843411 296976029 382641742 408975895 420262697 553429451 766886061 714466254 134907683 244050025 576177416 855666641 532604082 838201395 353943406 990774645 301303588 664145481 120020798 940914157 436593003 374562421 964521124 722333638 199882453 975035262 353432998 461813214 972674016 749030919 529605060 459816452 218473129 727488208 600546152 342229156 299271414 113402331 492330605 464893977 899584039 813675658 771149331 378275521 777255242 233972999 275432015 798143421 849043417 825497438 324054345 499328314 196062792 913547418 196880151 977060943 239413694 402716861 431598837 580241913 669881863 227278879 180930008 215672523 135763048 730341054 602836090 238637989 383774824 533471439 968948260 674190227 569915743 169317223 507000820 240643672 735381963 526526551 904461419 706801782 644000252 426056656 583993057 147692937 816227453 279444581 979463170 285563130 843519171 255470875 569374810 756062330 523156537 427140714 793015160 606457523 233448982 585456436 912135618 438547669 736571744 803681705 837197358 309148715 698665432 667173934 145439723 798433778 145050704 105837403 369075142 573951985 888861680 136933884 248355608 150278872 544250035 702388265 334292718 474269947 137186327 717043374 983893238 695625622 231895746 432335224 754640963 461313134 120456225 348182359 321403410 309606669 960359346 113985193 911659181 914407356 425066390 770580909 481691310 434984750 748993012 958735055 795924691 405745098 312862666 967313603 274648061 370968100 998273786 866106082 153596185 186140060 771734050 103115441 461462259 764386776 607193686 847885945 757047578 465500848 555029312 303324586 651127548 961178940 197496129 824126290 768987422 365023649 789793178 545093408 575473974 633803547 643640018 508961560 354397188 937794527 363541520 963587471 481288765 627635653 814969398 463122969 904068683 442965200 163058205 222949564 247466860 633097924 133054031 822771363 969573551 481217326 603649426 109758757 283986319 886771778 341284739 721513518 240593852 347874182 187314455 363261622 740286251 745549917 855518356 978993083 311886026 893056063 675386046 234252611 705167246 386596182 194956461 264057829 746081671 659455809 853059045 744641711 948588049 998785207 117662466 521242483 582496092 395493822 755912888 824991991 860403322 997753220 121363045 876732839 379264395 343700028 857978256 335492260 996037872 795030945 865570006 451431696 579398403 166548399 337950489 598269078 239197211 716636467 838007103 277034574 879786896 869589980 147859307 527198210 978512567 175931690 204998829 126068437 156779973 786854309 389207504 551354390 346857833 791392344 435566686 170496976 182866769 880211354 633331256 972084489 311795214 262081370 587028110 605635956 755558003 852588039 497829292 255701399 629034050 430380380 341970498 279748953 532926196 580933356 235793979 258722928 527578134 808491883 369125824 346285577 456026666 271214052 951116613 340779213 505173304 350550266 971751666 470015791 216775250 831187168 452264524 858282829 770478628 369253016 131999342 637227023 669557502 813308609 367861430 403878957 859851854 437495675 119702415 934410946 104280425 701015495 407875249 642750875 317822347 949107875 696331147 185563518 172162761 823592754 559673791 187114486 625903544 169358421 368273764 271869454 450021413 531219619 223431761 795832868 555799198 163798176 104886738 490889074 782898735 295004627 582230400 727065293 117383057 790742258 725154119 222466615 874641948 852114330 301295207 591867235 441605941 384642588 518574802 778249126 253182124 833729148 311756174 876646441 348020357 909893378 376998016 244252920 503608672 243791771 637842251 883793091 214201548 729419524 694861841 408492296 398219303 946628513 770744372 756432961 182105866 682993449 737351139 960266737 237166279 658097099 241601027 769849666 197257084 908085018 538270581 504650956 909429711 243618500 847760800 169519977 282960545 849288004 129160231 300494258 282456043 517862954 556514696 617074411 263134006 207412098 145703378 746068934 511808715 304358700 562783362 769349369 994114039 270775741 834531076 306346908 577699449 290603621 799439060 348434349 532377956 535121127 598963193 727809478 369261782 685374055 247078495 909651047 623898725 321934894 279725540 497484637 846221196 862603271 194353815 158765974 405319339 612620201 605253228 907941217 639910815 609370414 484087903 348625390 380255079 342196878 210319474 146451042 604303908 928345996 140417750 274693887 548467061 826438240 999595431 287126151 399225295 506321430 970361206 428556132 640324314 865871310 459354344 804513348 883784083 418251349 235345410 442504834 783943310 828689601 504117950 802856023 578550817 357479607 538197699 746921647 543060508 137830581 993987725 381406871 176909403 625423559 706665871 971994674 506619155 590777199 907447824 225040796 627243668 584351550 197635224 832379277 577975164 672392990 913323888 864567474 174830297 568455488 651733982 703714371 540695277 315062080 281917429 497517400 247690376 825022921 540846942 494046018 455310109 474830153 757289759 552859998 179001921 243081361 108581130 296860472 264721508 362569119 275160318 660080948 748801108 104267343 619792549 438771833 542999726 161432787 277133224 478991270 580258554 520470602 523801613 973487935 743836977 490959671 876024398 511403507 968530439 101125303 155282862 887349191 524524896 554993267 542130342 122286552 465127200 367625980 980399137 648892144 635481761 290715147 350917416 579889655 715625654 126540244 564261010 228142142 477830208 135857791 389435523 911048353 114555696 889958135 964904017 300111246 190811265 711833539 455223468 931240029 224665788 367038414 392911982 292786899 597247372 614864842 638308582 430753633 953159398 986375305 398308101 905122708 253094204 129419982 738109210 940962905 756245398 384990286 216763929 103842093 892263140 613831777 104496010 778368304 476914740 843199524 416812114 303787442 346026923 839353163 861909094 348833296 525869171 938069388 770750352 382987540 882447102 597747145 760410241 493855821 376011591 135842657 475176416 874128377 945163208 252107747 234609701 689595479 862293842 259849078 779941032 720209484 915272046 924199717 625282547 587054518 248047193 743491183 182535302 116012115 150401463 588385204 342236415 133979988 251393196 324367794 864774577 935659389 643357878 626688019 164709851 395601514 901445675 554002944 875536004 856372888 799020100 669796733 176513990 472886356 209891841 392439386 474528368 329835156 144317493 793106967 339130887 480415813 890279119 585293397 634006645 898243672 593271828 136141285 181008326 113487138 609447978 438728515 239830825 780897902 108162838 141988256 196969842 257360175 893122038 995902831 540156741 380465895 970499573 189583416 605334655 181339931 506417530 151304032 213149410 624147949 238668618 121531133 653966604 385041059 888554769 949864995 629081780 737087061 651407217 393594172 523240797 615365479 723618727 552695390 822013622 820926332 652492456 656714015 836507041 662770642 727654949 389856537 296446000 399561989 747878877 262110394 645487997 249456597 306406663 828656013 579740130 784888815 655094942 879688482 351446163 913787518 102860581 965401514 618398386 910259366 711695767 577018903 414531541 757510604 517479495 500910776 706443170 800709836 468600802 165587335 890111913 995666395 823088297 612345458 835628350 280323858 471922207 105547670 642397240 375825444 254115556 974687120 466908565 226973965 675690627 628757116 538249536 788271310 945660339 821959315 716631816 421685796 579135396 166589039 407876617 955519656 442098162 522470468 996693380 164028120 864208843 230290538 310502624 672771094 955601575 833699642 791047480 348168493 255251746 525896193 205852877 466354196 769951409 589811077 744568255 512838673 271528984 699359537 311242918 690226632 406024268 168823553 590049459 337618429 858809928 894218485 167562947 146950851 901737581 283125902 392088953 388511188 904893144 811618930 348780052 310617546 946521392 596550219 475433637 221973622 380260368 956516163 275657099 808241810 359286182 837638769 608466289 694097850 816070208 588848515 376995700 973581399 376665055 468590899 766825481 940759974 373219117 609568118 567920354 892627565 521694283 990649807 230963560 411488299 265257105 375741758 879117117 149003545 273545860 736275283 663789371 295755436 153783703 346233468 915760123 269017096 799712652 599991563 882942630 363873334 265538021 707692032 959959371 570073185 104056211 980542450 729278495 647731571 327954084 298433270 819623098 821056112 545283282 852716260 734142449 430476362 198484061 211606194 319016686 342348145 348893246 508299505 918313350 783413007 627898192 454676682 527576673 886812003 953688433 910833104 288485941 365503698 449818898 947665971 547596923 281920275 270899942 455437009 154454620 202355166 167010829 986357006 359579066 891646869 152452753 656965320 763747634 397630083 558792157 266668304 317569390 716797079 517329585 147698618 146848804 183406523 337117337 977236472 409619595 271678427 405016050 113937653 636705680 568932009 212128148 358784707 805872659 188263326 232250460 921638522 607468210 728799160 500859015 844673983 746209329 390007530 357217726 585866895 946100791 424160005 219834641 640236554 436552922 539546830 885470152 652307719 685167990 587823862 461452281 580691698 796805601 919545148 575793444 186828533 430838690 335977992 887565526 999740652 712414819 933906773 402288320 696908831 284462597 603527385 877302498 685161389 928757597 675240372 235891294 199163060 159621617 352650964 321968887 841334470 553438579 156922287 232627004 995030521 680234768 617211971 696181996 898321980 696405228 926354568 432248895 156937608 221562698 658365485 158605673 829583566 137502657 476471053 864454471 417551302 893507722 935187699 705618473 437787905 924439795 814770948 888463619 871894617 923228008 108775361 687148494 736677703 713020545 232302007 136979107 659652431 662773055 272659624 405951506 831031061 285507540 941832422 767188801 219308458 823049920 360978074 779020171 182121089 494605396 605779164 202415898 315800349 827030898 683479350 554959232 773659535 714396968 994038705 424293279 865674926 722217891 511218266 487525711 282547423 661067572 671852256 922851397 688073991 867759216 311716201 918602557 644038763 233451344 650019580 644991203 756685508 211419911 297624028 717401204 591723951 377277473 847194400 454390990 781439494 574534707 206467636 100999823 891730923 436391869 710238288 536206717 120596366 248997341 184232080 583228887 294899066 383509165 165484128 305912667 777719011 386887110 670627589 984753436 342015088 617043038 988117568 961921880 335085513 994950417 110898918 386842553 386754262 662779100 134886808 616573951 210097713 119742417 430980921 533202671 877329540 111030174 397934005 971817697 317541818 896388482 940020419 987833541 334317333 769557285 559505990 332290579 899674827 829671556 764692274 801377006 152575405 583321562 240539103 998161435 267701170 963405681 854693483 257441281 181244838 212063673 687629705 419968687 935496971 989093226 138330222 119317880 581556104 402636803 925456161 196835092 899561137 522418069 893670452 852259920 431556791 783089631 836739200 653993236 391516621 139858689 839967262 813643047 783239940 470634680 520623296 202558696 638390659 682307784 909488106 768225580 133026466 403344668 891782135 383037244 457168832 197635365 872312878 943292997 830584747 822968617 289593029 514054416 266379736 318012966 513339686 642687167 531786315 995126200 132186735 319975291 564933369 405476106 123923822 300612295 995212941 652376160 863860461 487197669 839591984 419656942 397450287 544617099 555233292 502989867 847238548 377642540 162187691 900652704 891183069 657330211 762800910 696020379 646013593 220430339 859720384 969510534 817335665 200390408 982523041 810644426 153482644 693822043 459016718 881755832 415236380 518443532 917702820 637482328 654973755 418009366 854725127 656603012 793522141 535594401 249571315 120743615 791498651 999172626 154511403 103503164 549666219 340752685 893533369 829163517 215227496 667155610 732576180 373173002 733641932 297146394 869013944 154137345 900767658 487831737 657226125 581779861 806520200 513628842 848067423 311137395 264537008 316372322 920543696 436197992 287813087 270313889 391457675 150829062 426589310 758472678 436380781 758611760 162995790 317559020 425027733 540345438 359926171 301286050 336533197 164048298 259767920 577317438 511032660 187189038 765106444 102731849 938676884 494819313 101562011 783299680 836287314 603072904 621045970 762821702 671930430 344597504 312888549 187862871 720749285 605837024 657129470 457728202 993845749 613292490 725359192 378059774 398458029 564107855 770363073 789288466 668534948 979708440 774226019 125977506 919217618 340851703 138647200 611461734 898281230 259880990 300927375 382603703 281657726 309245287 211858281 301027491 853472872 426163726 680272869 128383219 568246851 311708117 671508781 614594135 461487322 377648190 797895569 494153741 506555228 752043165 414629898 821535320 922904002 129344593 647534278 416854581 875945008 436352446 782393776 170970844 982866197 624757097 296682788 207896178 864457589 242382166 988215492 236820302 415034854 983971985 104983483 351655941 983276492 994703231 643897831 354378725 202938484 816206913 789257724 449450489 597946760 576911411 867374972 909863375 140107302 365769022 214534867 151363569 389388727 521776829 825573601 218344996 845817440 163763113 911506115 959925510 154707744 367932309 343297680 447229707 155906101 727110789 278088528 265355168 267980976 928336765 158442962 824833453 732589981 578591959 243537840 909180209 792539563 328790196 591478285 238188468 456400101 158240803 414489971 295280692 244923329 726425231 141097544 380703227 618121279 196076946 149971045 378975745 498573029 703459117 926584659 762832522 419547999 298352819 420334199 365342950 794010205 540128531 789943113 230599431 388700804 988503234 601047981 631387970 788137790 176552283 359082141 213944053 981684463 293660453 499454932 363995984 461838989 988256705 772092243 431788618 457526924 550772039 893466215 571199133 599856604 649585303 102505989 232976661 325022748 519454108 467045967 170956799 471315171 534099687 300602888 559265305 261339251 491763601 520471189 633712220 393301665 684972071 225855801 901220167 603409926 236952540 992925590 816825673 675865924 271769191 848070517 147608432 630856495 724315122 565097887 164338350 337845471 767676156 219058915 990753107 638055490 731268130 294691036 892369391 198587505 666125825 336910605 124676508 847263939 555016255 915858851 654179896 891702674 638596551 906282865 763339103 338819570 546532717 563009892 144265530 182593103 668323608 168026053 504112325 218599099 118434922 107510099 689867746 530630199 106854579 585862982 652246164 289266694 301438341 377861496 944220747 716129590 588143131 211642635 513949721 397646291 767274131 590848071 280378280 327310350 870119759 393292344 291311079 994382032 165434965 890314934 485188603 691752639 640390165 189860887 514979841 958062249 232920948 197011368 611174344 360261335 951515529 526854117 990844615 434819469 383916867 313459098 878475208 510927660 558802492 627207037 468011941 753546950 328102977 773380836 826173960 634621578 122559174 863392908 156125928 107046928 295591741 967906126 724890215 205939514 493156099 831709564 173866772 298741916 339546875 758624639 263059735 204670320 336319414 972334312 793475786 457552970 825077652 598634971 203435725 358353435 460511267 511428309 511515966 622731458 425209777 360713046 831414664 436290481 369144148 273418594 625940784 870027308 363825110 407177703 632865420 697305001 413811349 408661841 293018379 493146018 154666434 129438019 188085138 936137834 485497853 697293804 184517555 667586603 466628166 743805905 208114807 818274871 485650077 375016915 352407228 764370683 522975218 880122947 984768330 739231823 686383446 397860160 759459170 483017426 883306960 645499644 606974115 447594111 757805511 235988218 334247768 884738405 356197620 818222871 136161016 556668025 201580455 575055826 814606362 458086998 270750325 216745522 836680668 657353190 366057679 240043139 856030594 927074730 712877721 800969384 166064291 424840509 806051284 873659698 558796537 154990347 873430030 720788848 250377091 740286539 827292123 441103360 342067519 967740361 182584675 760620484 503547172 444505755 395738235 777337970 357007978 773675113 989684596 525054907 688767693 251012063 903815909 229881051 343494637 982063724 584272761 411700930 541214287 232374545 697594057 431683535 207050666 201012155 540672724 662057077 879646465 338240761 876413392 660179522 232128199 320817875 916033236 188476187 488727369 626740637 422253662 859196251 566955503 769746013 627679260 995177958 699781024 966952878 182881898 393475381 287111832 907321825 772816045 792755534 547192997 432075561 387542439 108665585 715685608 718673450 792988543 662779585 172608539 126610955 668787912 217536038 720043508 133134073 446592756 317223128 366610959 404867717 161192007 651299247 278845860 575394367 214404679 596613590 268648760 807457640 828966214 547613419 519653971 563784194 870024598 588886331 609467572 728754662 867907383 899537317 560622177 551154497 530808371 830831979 189274169 218032325 285549913 840482226 890801034 348550798 379828969 424456068 577358275 325113328 709056923 640764672 923692105 776794719 141012783 581118311 925782935 467291809 267285177 777508248 356480422 549267326 420547135 466613775 580059779 849562186 938100734 292256445 195872836 200886534 802517305 391229379 998348237 923079252 708726756 762390516 300145657 258730274 653611075 241621641 496375270 381487249 971976093 952819716 618155862 146001078 927692892 478202075 893028817 908581141 646761145 397721581 793203611 409912411 589839457 465971720 169669382 122060612 150461550 168984098 658987050 554633449 607002255 556266178 935766648 696438516 939792485 266533051 879568669 242608755 614762228 989952801 343619146 346949952 362492586 545632674 204884983 283616631 495409060 630024371 347696244 374523202 944693230 832167263 488281836 236001349 902145383 414943360 577250271 643388015 743690696 106787614 609921763 837442183 347272042 454621298 252539213 902783637 310586553 775259249 640445692 834783533 988174664 351202511 448210886 133825412 908297531 699383681 655541048 851522978 599706844 592371686 848383036 618144118 848695059 805679255 858307071 139274221 337265333 435464045 945019187 850122277 236847510 589708844 602737698 281162049 582229024 287502888 986805379 765702612 866566362 361258464 114703649 763407194 566280116 896267300 549953657 835859499 904830154 221887991 123480627 696522070 253226620 907913906 207968672 437343475 379218139 381752614 456013958 121204077 862301999 687327242 609687211 144904684 732139259 420258604 257043767 445821216 372080502 788021901 422945069 559462030 459496501 117709781 463165674 440661692 950623721 870193341 293038527 456058845 391813347 420667225 291350933 159004973 956478494 693608171 963629022 802448512 343571551 814952877 625233885 623249502 461379686 314897905 178801890 911571095 641868571 935791452 910288770 416064074 941799784 443210889 509000872 692060706 848553933 745206861 297289797 690936587 605279744 329762368 858961679 409967470 800094772 420539435 321116052 415244741 753583727 158900262 400982829 198669412 524319426 692586677 529679960 627227016 693379258 188263926 101006488 537945371 261376037 373880035 390031530 889576949 362592275 679763681 662285812 316021561 230623879 637732094 404513345 458402087 434480175 884306445 975300819 312041422 953318533 673296983 770630623 515912028 148400414 928806309 132969304 253204606 861218693 806416241 895081151 326143366 713870257 741086646 453173765 968577199 219249837 753012019 275472284 138224456 104465404 469753503 167400927 582352077 248715908 300603418 477778849 253416769 884877641 294135266 718086741 100258793 239580424 991220466 147873048 224061488 234275648 605928646 944574343 441740870 381502245 281986399 247306443 644726197 946840902 115959282 193288907 534846419 532038857 374019114 782542754 610093436 690153486 729192582 920247993 290871607 389785371 295361085 695135178 820465697 882840269 167536456 201928801 383335760 723990752 529215365 623689026 378882991 784935582 266373135 423337238 449585027 271302387 144103811 615340379 801715450 964367689 237558469 921970876 618591989 693620917 266271279 755705848 648366787 918693944 172597453 543101436 922461608 827175897 273638322 321722214 412208852 363878995 372821099 954091583 522320408 993963470 977615412 201571778 383665706 476549864 455890919 717496160 715393860 210240462 282218665 310494611 583098800 627700249 559582070 758939484 608205587 933424080 449947150 673902797 479372343 410012997 720788264 133626341 306070463 913058719 318118462 920017134 963178199 680849245 123257762 860805896 614240294 357783945 485029792 102764863 826533135 667353732 433467797 432468457 285748576 509899536 428723832 789847999 529217207 802231969 541730867 325592798 966090717 737138817 371813418 827282167 836938310 199785533 144662421 682704886 699810908 168170395 610154665 299491149 936284887 290738885 544549885 342171168 850810922 296133369 896889787 467163873 112598505 164280586 141099880 682062065 965441961 728211135 747920723 291266858 734787909 236568316 447045528 837675415 322362961 921240004 884494746 476650057 920173827 412360309 145829505 281191816 650554458 779634250 468448851 387697176 484549540 177241798 854387692 657755878 533105279 624601825 831000751 405845307 950950743 758392770 870268321 781724972 109659476 898311397 520553710 142965157 948730409 448404289 553767848 476587874 250096314 144836227 431477169 220859925 479464092 603668717 944199400 228024873 872373809 378731313 754555418 725669855 202614738 341752817 629099858 575641518 351218871 394059892 456799306 834442721 705460798 138809377 691004405 827397345 224244112 537069379 559940377 644268037 181976706 468713173 883322866 364678628 571367041 342628062 104345818 992694313 780863028 881822052 590814301 148248240 296798083 216213245 124801558 288237232 511360650 109740105 139812403 506739377 610906037 992707153 738331395 298233859 751122477 651022384 662178757 326744473 361053457 621615274 889472379 524019192 482483136 117586003 182710085 410941017 129844984 894971179 751372467 848386344 805983974 818621468 373566836 536800823 369484701 205570549 550539707 131748727 783805087 208121871 447772081 693615938 934578377 525487226 977831614 854363992 389180916 406141140 831473254 171674134 962693198 147092734 699456254 267841334 264750820 730567684 615255776 235152420 759230781 661184020 340988527 629375567 826906657 494969387 403765466 890812098 383797117 412717386 968067010 453922246 235200730 170436182 657604249 643607101 793799500 933612098 774625117 893380239 115916508 448924528 580172951 673975505 340874711 810597479 454882601 840112053 529827118 748392017 763583930 192614677 632163523 194179064 669546872 921184308 740947449 877499894 289655492 942221910 998810076 563581934 128769244 722167542 239972838 678262491 129635746 326982769 435796396 654949379 999352098 835073134 423401489 647244017 263848559 733530053 958001541 676240524 532063991 148830912 895929144 979848832 204821537 483222543 269368540 485836757 733380344 425687809 932369571 220175664 517126030 924955881 713597914 110905859 896712355 545876439 669111707 725680885 852934200 180967884 648528121 469159068 160180593 815885056 407442467 299651251 615684145 659955389 506630056 281972139 633814536 828813559 226609270 998453080 336078063 997859473 202183283 281187888 171443143 121093666 748240743 283934552 501997120 150883358 590998762 144589181 970070017 464035625 724963007 468758174 194860706 153273446 974853558 300720172 926631820 929319933 602839733 152759175 865404751 733128422 300395110 458524970 113267875 248444495 526122258 191316909 885328580 335253298 486288923 954432667 339647525 243174310 891165364 968177994 490031800 149927928 924591943 144494689 393087067 298112275 360767612 610210047 723333164 960751115 985287836 850072400 684624488 660646905 968821278 893684055 448462538 525555446 937170020 497079399 648723006 624269997 782339485 836513646 837619469 494492121 168919545 258800953 170604167 781301125 452502813 710214695 317387282 305314793 244609525 134230455 258900762 345902113 553058578 687668919 835799230 183700208 358842489 326911100 761403209 609457389 347985741 102306166 771882793 469507394 127975692 199228640 571015081 341646462 364771093 828266223 361875414 174027341 862304646 570374231 897936554 397184092 357427566 377213606 565682044 550665105 901214414 947527846 949799095 100289139 772353784 228454609 236554669 643550075 844191934 711175807 909675999 590719168 607921952 591007050 436547349 454198956 782272299 896972038 513125641 938410837 416327417 927945064 576640538 291730779 105773557 383689106 857907023 856306414 684152431 551752042 993353823 771871115 375794010 302127441 901260284 124864213 692405888 263454632 137476286 804854821 141239859 568492531 693007243 702977233 282676066 112738877 584910613 670792135 219769423 346871476 903050680 315014654 637068724 714868948 473754035 839706397 121821625 603231342 422594022 556280687 986579646 631456386 493481220 745699352 753823484 968534732 496889285 660718011 948828702 840430642 579055260 941807202 984040559 446840160 918004097 453468352 895066000 938368361 104632044 989095137 396051462 657732409 645607982 995309112 694096619 584176657 690326589 225680803 675083287 204159802 981791582 448944341 727419679 886255317 661096891 258343302 823339498 673752884 569265631 196578003 970855664 112663117 345125136 652953791 270414212 253210981 145321885 919011014 422486384 636828055 128996958 496330661 365540586 945324326 162178958 624335501 330539402 375917623 564989935 624683637 846627723 736997250 817695418 316487360 320246926 213130401 401507790 651337483 308644879 382005215 468890667 940721849 479124819 868181665 910261266 426982638 239386619 880922226 429161409 685015561 233218056 793924492 571992441 751326268 348209534 752651389 122161461 122076723 196023193 372197334 113703425 281279463 771598541 562741852 122757610 422164592 180094326 338636270 683613295 342110967 964952196 104326398 360451582 588836189 659699813 488562850 736279316 209766377 407838044 408785107 822515398 534292193 681326204 499899882 195732752 791185061 764249687 503847177 952443310 832821993 279196812 835884510 650325747 335735205 259252700 930815047 860853966 225958901 219666289 274476932 559017107 156283240 505853149 618820368 417658421 380383017 291225393 219624722 873093153 151122115 783243964 189158275 682916752 743044917 559171043 298409060 979284308 212540954 432559495 873768829 203357834 405284450 221624884 924478657 324914322 610705037 358518257 227369817 505341587 951217327 750431953 669626802 496040266 567245487 549114978 380600924 307541330 297103617 968271924 192618011 566902781 509084350 497524767 792959613 843182274 715799652 557902737 882245254 258173020 317387960 633752082 867404736 891529627 919834188 691023276 657112127 438815436 642403082 828809265 695501077 439662187 185942348 943537093 266256417 436816527 977680469 277898906 661454243 277500357 196876418 612190195 533702415 261778462 737752255 141164532 138807083 760975388 717452867 345485006 162896750 642810136 790882137 823292903 207321328 276998574 475272581 543101610 153930625 969766867 755321529 604380963 377695506 184231171 471936557 526590902 211242398 534758693 679624050 241190104 889249501 461734375 359516158 504072467 203367272 801291423 158988663 859830908 278641605 309331304 173696955 730321403 263894979 960754090 961864739 472098312 177016076 472416036 200895135 133679960 155522693 503288692 759277441 866347235 760479255 743161055 583585409 179878919 248048358 936468133 658969916 960759417 869371906 699689691 611768880 842625170 234147882 840135954 871223913 128029326 604458864 208367095 953844854 883093402 712879708 477037700 885724306 986607306 270757640 513556773 925413173 253366971 266507203 303529197 766393389 231096273 162234210 612499608 658089287 116527160 961983921 569600262 409311505 888577129 175662967 774586584 315650960 105325343 549942772 160132010 875034720 499225949 696325547 385161716 412342812 316211028 617094472 885654053 780482501 274194221 343174132 356448866 541820936 268293415 760590948 777229614 342400988 161367154 519309930 253364003 291345226 940632076 751605397 380959582 974053369 463752385 310635299 681191428 975690953 935009693 194390834 902803875 788083808 832583485 508154596 412876475 633988368 476657262 655102372 466315204 951918721 383820207 247825290 705345779 118480311 819211950 800571979 361946347 589495640 748906555 868779771 869910654 185932139 896502189 108378042 379797018 454870996 908728729 315817492 395265714 586558051 126643462 975801030 242643910 854497584 675658070 548672204 321411032 708017050 802553310 141013533 193037049 567639413 480308788 817812724 946986593 878359822 926929658 503861767 567606688 846864091 653086554 234580250 513491329 724583507 279869670 808279627 778659471 953794742 563338164 744312521 433650436 635997461 590225851 343201586 835714567 931089413 888003740 784292055 510911432 147331083 100832821 270834458 976526132 767453961 507882681 455504892 390212884 249277953 874730284 798066897 340293730 399151602 594353007 877693242 614502895 207281457 100650705 842615498 250959554 406483795 307362797 981656933 981452599 243596005 296471489 913793891 492086407 144032531 116558402 909568004 114377208 785094618 713944643 373975049 158769446 633990679 625280758 599950587 533601187 518704839 531659420 311048028 293287770 247896333 483603650 850509691 250865578 289849906 768644120 247228799 815639635 408386255 722130129 166804979 860992456 536176265 655639702 568029458 258466517 137476667 897493462 615565589 142568230 551699907 656816471 211826405 121394851 494908642 368191795 717806471 291084806 798754312 712438221 450839414 345338283 754499235 393504790 262137371 417102515 309835516 347329403 187195435 956059281 541877322 308391386 381212162 451679122 348578709 445740180 639834012 634927340 391062356 986277981 161140443 705901243 951957935 416885206 110339563 682915898 842737705 697091882 926936078 992537052 481334984 625185900 884063052 526514348 855472903 961503306 213736834 438938117 948684996 574866350 658869890 299876505 607003194 925785131 109354799 293083707 837039311 510390012 743881557 496693683 966259365 879686570 409112695 293105771 339786404 685623633 583040615 670660719 366937178 182186685 545873121 579546203 797383363 186765303 337657913 648152771 619307054 865449813 190616720 193153604 974348201 892657483 197088707 170985480 287401023 541837054 180518345 602437241 235780367 861030086 649894604 178198126 741257331 657830327 191686952 686885399 382580432 991898375 490674343 917667455 517173495 510161463 690256107 704097378 458019870 242964173 559341968 561135942 623411927 799446276 376613151 604709561 737159862 768348544 744265547 956577842 878764627 719794456 358033310 841649120 217683344 241033055 141317056 932574168 939551034 108542409 504086840 434464480 601774642 639355010 172006563 820241260 711318411 921828101 949832867 409975611 290896605 103622161 693074803 166173689 487721570 691731688 671376021 268979143 161289886 222013234 290168600 421850587 475621508 719155684 585647388 994193964 988486344 817128096 916778833 719918614 654693554 982605744 503624548 658566103 920214369 553294762 647282247 282521783 758392942 339831686 513988348 996944993 541119126 529484489 808076206 911893912 855844233 466157791 744705281 404679336 435941769 196825769 804162662 104231784 412241663 385505453 970625614 184358511 813331049 547339021 240981518 902462580 678854114 852963290 844799608 266740579 287969030 514606294 128448126 613198778 958500998 488444900 662644730 635102509 718009030 292143096 342513140 982338573 310114206 944627233 649907587 978759180 837824870 597688714 725385699 314093407 405223302 620775989 499477339 846817575 271801589 137906309 765567599 445276977 152108041 880038601 477642199 582124839 942423778 688789758 427294131 627063399 340045718 472427407 174789719 466663838 685134597 563168507 346890227 772168980 136441529 297678139 170821685 756675997 543686223 421194980 660488191 333283509 264931628 518448775 203580579 600137659 911635887 571367815 151289756 752431420 625397844 108175900 556445824 841502943 195033750 643964742 353654353 496734206 384100419 109263345 583321979 685437624 181560419 601215365 920703159 932276095 776593643 430621592 310737752 366819065 301630001 867889560 985077675 503019140 343144700 731438012 828888382 196948323 741747988 588616910 918771574 658460022 375697275 703042584 615602101 569081664 556912998 232698574 461908790 777892105 890718117 811850864 462622871 175042786 180856074 442733687 364414689 270598248 647678659 212094003 137045093 546102528 237414055 631897795 100747521 538719196 229366658 655063925 482425909 705233021 676600232 589441963 530719947 790509569 564011766 677539312 514764954 228054068 606937803 823909847 201512251 845082499 187001781 737040305 237658607 367803077 684804523 409177809 483910960 660124801 168814575 933030199 832644329 258645801 177299024 507428167 826805470 596563941 444593684 536722412 478035822 252265192 269936147 384415663 691532971 158602756 127235673 295453448 615134298 802162318 146051955 962565029 730922162 259589586 220156806 292384213 167345012 404342405 933186760 310537569 414936256 688937885 269067234 433259573 234736660 835984375 233110978 393848091 151920289 444136552 182195374 107284083 193389673 202068963 868491800 196959031 888424955 140671715 601649987 147391470 575296717 740227689 752926975 576867337 959264611 624643113 327200946 398571086 939654616 649418577 713790899 600219314 741544388 122472791 525288017 558954642 362175582 667832151 149051507 406493186 519991879 130113983 242014431 262568508 173748113 806666128 626324085 666760378 632121707 743728067 933807348 592415885 876832665 389287651 829404522 239056420 552098099 942024690 893890889 820612696 534024853 703846563 969065477 654139774 668582346 709368396 716171901 345035887 250049162 929849158 398405176 634447833 517475786 958738666 539050931 707463696 337542128 296356785 849559733 766211214 732111445 332334089 252078647 786682408 604610119 868972740 720101936 640400127 864494067 909913901 139557754 354338314 802192755 765698678 220500427 254700258 238562294 565859240 448549848 750910084 664211816 583743064 776891178 631949850 686794532 689777682 694922662 585072402 284340227 896463596 676697194 393732356 511727640 501417582 470925947 196781984 776221936 662381110 558580884 825727576 110845446 490762601 730711860 111838764 321640802 213134654 109783107 417552586 200315072 166455766 629953674 946383327 372298109 457364828 697369935 200231526 489224821 726568067 575642576 254957507 856992038 263355689 610535703 826641362 822181701 408573185 565580427 350088198 381291602 555199015 179641994 184245283 200225385 122659752 255740738 405206130 317142175 476869806 838626811 633310767 296768998 355500793 806597868 664398844 905172931 430438328 382468522 455240647 274871218 137631340 810620358 989337557 557804178 145761064 987586036 637363981 438618052 389516597 160014622 396946480 532144489 621570087 521302191 317021006 862381318 801577620 537410834 946349701 776599958 408633206 112681300 444716076 604510193 675079566 708403240 769573703 804261649 622820061 921303787 803345762 670788962 650577246 113340896 652534692 877311623 986287768 282934660 946274158 166835910 789282827 222953765 636584205 510523998 174384299 937815564 461548930 583542579 512141205 381576257 571823074 105543165 900931073 621695053 164288252 523939060 379608083 943541095 978362689 498547298 748829966 425254793 217920062 906766331 900461217 403819176 313371383 379054763 590523522 615232858 265823545 114907060 110154853 616312582 723868044 885688876 120923562 705957179 653375077 545134920 622218053 459412168 306208581 691436300 769876852 845020858 550764351 122660763 667295965 728807640 323288538 509261391 626467685 118435009 841412753 679763812 638381968 360777047 657990596 981055546 665687223 132255764 276266860 762290982 412693061 686900161 522378457 838244011 953162444 873721802 638695716 272408056 236196204 281359133 918343202 234491729 459030745 932127459 292624039 645423144 951297130 914713816 482821831 703197453 540983077 842311934 522397496 984801234 962839491 166130307 390285741 754966427 342532830 396863724 648081170 594599646 745434425 861453181 975489196 861615099 555642211 740995269 929370674 418139789 130284565 813859235 990085099 409701058 176486520 972149958 345369845 279638879 246604510 447258517 659229451 412948853 283185665 634489847 452146505 774292167 420922243 128072295 882227992 584661154 818207850 223714143 484319015 674713496 738511550 573165472 717179271 277715374 733001369 905498696 162018678 289508697 348430214 224207243 270261336 189483442 621219563 154198563 775517024 174563092 813282685 300428808 929311548 542550286 713840873 838811044 143941513 897893411 908643167 491911393 269712426 589821038 616938994 697043110 430307258 746524264 711319662 504770137 481894225 910879056 209363671 397816072 475162364 462443405 530208370 465887915 986073777 790169944 577534330 970181736 630824566 134356740 938357307 921672468 578435518 980305198 914699916 139570436 465341392 150571417 658231315 801460072 892371030 468601878 149191345 985245569 343065110 990503936 351386927 511238968 864582124 108211382 760873933 229616660 850847793 452309755 233904106 453274024 899324985 870690862 618903882 283378479 541645719 172942077 667779759 600829719 200219647 410662540 856825683 331283059 502045592 751987212 319063261 124621118 480555975 875476964 926134426 566444159 132401787 940267500 976674999 969421795 599909683 993740620 256550272 911583612 832876860 996439804 659020204 677608791 612065177 329836064 923373899 156774432 915219470 964803522 265808073 315955171 578139659 492541470 335698772 220324733 505609285 702350043 597282670 842317903 598605949 279451018 551474786 848451504 599412049 991644977 650127191 517423421 256424155 423647667 714880398 680402464 694039255 960120015 911521891 358818571 411926997 213805177 530106984 304158353 439676087 650619094 847797305 876736617 312376751 620055292 595728896 433481343 553476661 968736374 326217395 251195262 476397572 786471349 438577101 708710940 131354265 882014354 105914343 461603628 434797223 178822994 616755799 297661993 755071094 679961650 750405178 499478764 421963768 559588025 316803198 512699267 702389087 341941188 798869887 936191069 222757543 137267673 965809809 317688145 575739507 673517467 678557315 705254535 156918201 686750646 427909193 966586744 856446635 938909053 705070389 762872494 171226578 811133898 733351666 252782232 443024026 722593736 232838194 112189183 856875409 486690456 685714388 642890135 289773787 372948111 452449279 546050335 763159006 969446570 456666315 784157401 879115812 517109892 834016910 656161086 426614796 119063813 883206567 465944212 170942355 409750012 907481483 503356674 266701796 132528121 428269438 277462337 294300013 157126641 607171593 394496533 188671051 632727553 435206281 742539490 451659889 662862325 996487226 748353660 447755219 802142586 788621978 736834040 281495581 821458135 435704416 339070659 712567571 233196340 186785750 226860167 449734533 377879218 295324472 518814825 720674224 166306390 985766126 503242171 293615833 883199896 576309362 803941838 702168723 136187119 138085082 487048831 999986963 899522269 452823119 504467191 113848035 504755170 375050551 801452602 601793543 924068753 496943002 478434171 831489795 946077064 494720925 563504056 233097623 228346470 378428257 918806950 715333247 252149879 948951541 159649488 124809413 558877623 279927582 286485978 709505147 341477229 584443218 787645316 919297132 268051533 784137498 261064185 922124566 315369917 239252550 854342298 466576898 623870667 350606362 818015375 454704344 726735057 861150962 358733797 785762690 588380224 772722650 553612545 302779244 948545560 674383719 812833240 375578952 436483588 398079475 219736856 704809702 270421736 550269911 657925767 806141121 475518077 984202554 578418244 156340820 703860195 548305830 927423476 937901511 379456300 426192540 989842679 596678940 115579421 201243271 377670420 534811662 306693095 647862259 995241345 168343297 400207027 590369557 496185199 879049557 601288281 239649423 803768287 385326326 596285853 636466780 142292256 185329883 243171882 725923020 673498169 768524174 267238758 243138922 151384572 950584798 677450388 199885745 560948951 651707805 667515111 291063537 367906340 166359240 495155254 361107198 668296781 414683657 859527612 712501123 351350953 359222924 526371726 587045416 374976631 649148286 321883753 298299807 200348759 945133668 662502984 646903375 541227634 737569611 800447114 571179057 897531560 714052652 964877013 149875331 373606988 521982334 882867528 674730874 711440305 325840507 720919870 684744088 547287414 813083810 378339026 301507395 876704175 563958465 234195925 566800430 552608887 802721852 748920846 466562297 834511009 901205700 437878270 710308660 476346141 645087338 610734899 448622598 491073420 685667021 829872024 989839584 445949212 985294736 152776542 885620955 912864036 458884141 516598201 331902188 777774376 825155591 786824616 632670478 412072596 628697087 464986401 698194510 647237213 494635755 881713815 983262108 520146422 539468991 130156407 463267290 957438887 716523216 524127097 906279839 426605486 339998890 380269664 313750390 151738577 202152139 909148862 768591864 854428517 762376010 236806672 175012050 186502728 100634189 386004238 981218563 463251296 966004671 624785896 468439973 926314788 453393179 646133744 398724133 620840344 161910035 505559915 831104105 674556648 116410973 673015859 857227539 193461187 669697092 681576148 392127218 186485540 712573417 219276064 174122318 567131663 482693033 596260036 422774464 271903772 978124702 580904244 954512330 337504654 775039123 757666079 488713879 236169069 685900188 632484759 164261354 840568169 712366632 711487185 122240108 804005965 273568792 759234699 980260372 338069160 817154640 426316595 423875339 287929530 410629365 803213033 173127130 643943550 916367628 644869886 562302754 466177502 579865272 995550873 320875559 954084580 812864378 606224339 737146130 197781337 584215747 300075264 355266581 197075897 778507115 265995630 289474755 790225757 495379285 876153043 796505811 482692893 129634270 719680671 491829250 235483518 670709539 334631257 508079244 919058138 340518669 315177001 510479290 290117064 778724589 405314509 206857347 423923776 905873678 539981011 463322295 264080973 546171836 544157060 120069030 633064355 850990399 303068055 296103922 511238314 818975351 932968651 352426677 897127022 833197298 442634251 918797878 437011051 889111664 983710214 134568130 150473353 854226507 170285472 161956215 108257147 706860597 714395931 244713649 177252944 497841382 466275322 778943778 347922107 930172358 623381924 373556048 901536522 190144186 186533110 379579873 300061358 952961887 683835731 317015765 570141742 622331883 532559787 633999143 286761972 351772702 106822181 648782805 262811304 931749778 583492144 179571071 775534380 390620377 435366294 565363019 222714327 303985609 321432797 915412241 995579091 558337452 562319102 661953536 773428944 317698955 928866067 419907427 409055963 436012037 161397048 743841823 673391883 413302161 321553830 518313517 490931218 335945992 349089891 229097660 896149291 434529897 103696548 718386541 676888699 719663423 158167361 662168839 730787593 533407607 452568028 343206122 405860280 181439875 954574065 647108492 390484623 745482685 257913540 314571894 721999430 997993511 445070645 771375525 820517712 190383489 579460750 831460489 589539860 610883084 326660952 772795171 252769662 533762732 670985547 471537926 137968556 899614672 986635301 627709540 809204067 155220659 994102842 245289427 255554618 268431086 408322181 800739455 919802817 816755695 765164279 800438310 396301524 305744887 920571219 179975319 920162858 962342929 608355778 153045137 788229165 113898444 797966183 665614414 587078235 694861859 384420948 658971871 205720194 798401924 786544344 685363727 563110433 269038355 635950835 304013794 207654276 975684105 841640259 412779524 754661337 987233313 407675416 628607314 567389621 392004837 992388153 631748831 794364563 396231383 686404452 651997119 392485240 866221479 462195225 137456918 787932496 427194635 425411368 617108319 248301195 456646352 120229240 593129627 119706985 184999065 572494330 246986066 346517249 840349746 190056731 872806868 423422569 219125485 749409198 771665145 471897167 596981446 115765666 647320143 640533954 924263238 858039188 287660345 458460875 325377587 277850111 532284586 232981665 633244430 440947383 381720804 676003486 225037567 113180353 393062860 536460221 383085724 794452545 850171541 768237355 188758081 395325967 521403930 950443502 880810377 423623788 976031007 207480683 797630830 287847455 942183021 534299269 793909173 898775282 230806240 246604779 950264211 988762103 702230473 141524882 503713144 609612739 560222089 852712207 304615608 569737832 269352619 249801570 326477907 157639979 330779433 343348057 512398357 401710484 197085209 574975102 722223045 148597567 723840623 292439749 955838564 752968771 513184208 340333328 466988579 596048292 424012861 471657697 487280950 375219188 984485647 514856209 924420914 817508602 868801182 533927694 316298485 424139697 971393337 370520059 242526976 710036125 751469197 646351073 822341068 591673651 160214732 302455824 831889694 990845662 332211994 157731104 429845650 694150460 950816176 336153313 708920984 122992403 920907627 390030715 724891301 174124494 883765162 781811912 985780522 936608380 427118004 895700158 326038610 234882614 574992211 678204308 937310717 625342311 307377545 327659879 410568634 195735500 582473696 109039092 444890275 971505058 657768317 293768701 474381055 692647774 166034142 508953177 912255762 867703530 438005545 416052308 575545786 380899764 313517061 861147659 485013795 739840575 384271927 573754726 615552896 100191623 112751778 449585959 630865210 823816156 219156294 323823217 497363927 156782297 491734495 612668234 543707225 172190485 158673921 607136784 765661279 650466386 950597722 198431198 146388132 618607624 415662176 703587707 892637051 953819404 686552408 385053613 361992121 508536794 546824038 837792568 490003378 293368812 274059211 495244200 529100112 356604391 838228859 110440829 514772625 413655740 498758183 759751333 840575633 977057384 621665708 943052124 703424245 111927724 669385218 362600406 970574566 556216625 435409123 274252722 341908685 235219070 931063315 921996188 865021323 501771327 416355617 735299243 225841965 917044815 125054067 958856007 401669891 331260613 688198954 863162940 570292421 232090292 806390644 617192716 996184613 141427975 912821117 326153249 542962434 309070340 941691827 279905579 582545704 946561338 918136810 718814546 638613206 576409450 647503913 826499751 228146399 511481221 812108299 449921966 381622409 492883707 844195951 199643933 147653830 131279648 674790404 738147220 374050370 892132548 520435689 211018909 867147921 387734125 439092282 283688910 349063253 180837554 800969999 132886311 984226543 586827276 197615495 880837430 572002494 628239697 825810935 525656355 670685468 813953214 409645616 208846451 289659530 173472494 525232776 442402336 428160323 811069644 924600820 548882632 283186988 276538692 842827893 223370780 601021675 707094186 223134488 285957913 206331940 744091263 735417080 992441362 327971671 381411224 364421321 112340213 378163622 375350402 669333923 736710340 855506737 929250285 475182595 171021019 657502007 949501819 892986998 207617225 262552525 379808578 544165934 299073822 170874659 774018228 143823405 195174295 381496786 107206961 869047305 216415977 427765498 131827354 676808858 530584916 275772842 618102731 695266010 386912027 328454607 915469048 631360917 332611495 807967045 252118863 750744234 367107377 597198248 198885252 182263395 407235761 219965258 105279219 131271542 175289320 468745503 135057504 862206356 716520561 421837284 292971994 719826715 188055092 863972529 363363789 915097936 658967662 248902902 783299275 761245064 747205757 583689303 742887001 989924133 992173608 866024776 965295276 874500039 779540670 348102572 441612073 633155065 125562083 276848385 676868560 296411195 350752750 650281687 359715910 625052224 611062481 429854181 239574500 331969125 406576309 899304069 507370157 228334670 995889777 884091507 326220984 164577856 616152391 576060546 149088364 858336381 618332392 508894420 791369509 659409898 583682819 816179065 364806076 365644731 654562246 357608236 479134464 370168499 743964628 539494225 730564056 465410060 808641649 565289115 614614513 950776130 138620709 328876324 328793573 698091273 952494070 654075864 767890535 135587847 850213428 342745320 574828154 771165234 422053092 666448921 666556224 349513810 527433682 668190896 619840871 557058098 654978604 187567174 340056382 230156403 131356429 256706644 874490697 759918503 428482444 450531481 810481259 948903829 957565881 156702350 257746673 274961112 563347446 501267925 844391307 807426164 661109527 849292128 473531342 471983582 329697283 714923470 378940298 356791559 900723907 383347790 938535838 511283050 939306823 777796331 510460428 556448403 860169118 811409429 518903101 920498721 693283151 767537515 129629320 255547497 219544107 432381060 381378484 230037495 697448198 562611615 901951716 370789287 601646860 479833140 284327593 984971905 768509855 303793664 536488887 310840349 758142283 283173196 277467154 460283477 341074316 784587777 885105700 430222929 287096479 773556627 820206367 280440793 541126409 934044693 753805989 211668419 561467296 144545597 447587112 371288444 557785488 403976248 724279523 672326278 308679656 137963044 854362912 555750436 849171669 234757158 277002080 186772122 646166071 195971687 836918278 390579634 476107029 274605317 219339166 945756905 152005050 920677024 142889146 954653214 720165734 362884172 696753495 287533743 861220803 687022363 633306468 842231216 727647655 332293315 605137640 551880659 764598741 923809296 785845109 956730493 830329990 951803466 410889360 391045374 739406583 307176369 630803403 514216315 567993398 366504023 814504139 224617154 253807265 290242473 663942486 134711616 723798146 554495875 788185086 573998005 710075924 465099322 700923719 911142684 230224812 924845139 749788669 468438860 432130020 418233446 584721555 253935910 189184359 511332752 657109519 454760254 603794707 586685962 688142128 247571143 462055906 452643376 570273011 808249358 206705564 996133930 313962064 822365349 758984595 923290159 273782479 361261217 585326829 228357426 921621038 828745951 325316294 104593299 576941231 398590335 362696783 813781294 963156501 434763400 668164387 341957330 944482901 445479648 322411669 486407944 874135738 446644900 379531396 889553987 735929831 908600986 525781572 499561215 383146435 378044638 819029233 532802256 436302272 845320571 114915818 455184071 703453542 199944927 117780439 460981270 525676106 419459821 751421093 874025439 214198093 102345211 601701146 413041059 460828079 226497873 892423618 528536520 730423632 561432502 276110767 958809345 197205772 859246013 858426054 708152741 149202493 506695094 779441058 684824130 448377649 879940966 592709617 244517124 470122886 440685217 218941023 322508326 108545375 921539347 746212313 973100955 225047353 949152247 211375318 402288061 171273583 917786293 923371158 303822000 740350919 172415884 391812815 898203101 574480104 493925922 214119408 581754833 944561944 458612821 872991392 723160108 342848811 774942657 889244732 276020560 287952142 830383578 455862760 338373573 317672838 287690845 797763222 980660380 749070168 360496928 590802902 601888769 465116389 670809029 635207006 121067000 120377662 415464963 821967032 843593047 305686016 289887194 548943227 541559435 498281833 232754727 596843492 715824667 309656508 804456794 199200846 919581643 247691247 246657133 828074433 935602334 534936457 436246482 265130364 232708699 980284489 547525245 398505163 281802169 929942329 975588682 709012953 269063791 672526535 512472086 311278755 791100373 327512106 454209530 919044431 608477373 764102411 748103613 729872548 432808793 936801941 429174054 618020289 731164413 810519655 384802060 266445247 317312822 662783424 326377366 376998133 394149323 385836898 787572596 855936250 901760282 212380149 189778768 584211789 353924737 473513877 357570713 807336159 377735419 719947892 222952034 969353816 433599452 523565893 922119720 737040782 818938595 740191059 565441578 961840196 789848098 963862512 755292985 237203185 158202848 271642420 408504771 716302564 141585836 208031031 372181899 778713451 135391796 622168269 371341879 101497044 303381659 901208081 671354020 870599253 812951793 908719200 542798128 386323951 397034285 580746722 668893375 497985418 885636714 936692075 858763906 328664454 984718250 411584620 982404608 620215971 198232671 766416538 842111961 539609731 331726409 296355247 356044963 280503245 563198788 445935575 791698269 271428056 668061590 769503917 809602097 496884898 818561550 367670653 851650286 454073796 927478240 858813095 303208974 535454259 205114329 663188116 312888155 648464687 252354041 819014966 197404618 773850813 367482233 496665724 846981127 145161514 898934277 688277151 631009856 906152919 505642705 461361024 526141488 207643688 514096699 100901024 357412824 880060579 564218961 118069705 961001184 683066116 977092292 591625869 731664072 264373891 812924229 902339502 466436304 437418126 349724350 362330627 210010933 808572062 983763655 362258305 578643202 637897777 985926014 860199545 277677302 172008132 695164522 991665010 484462785 853194876 972493569 633837011 604601469 574863140 709990718 997240069 572206292 746946987 266961744 981141496 485826546 748203325 524284491 380679840 862700931 316986617 342827868 762789652 713650876 847970809 421669776 269296704 868823154 771190890 588339900 136549841 584774500 609558849 738740745 129806942 352142717 548261079 328289802 132495753 410738370 629701086 664348213 352106805 696084833 740593744 480624015 580524895 690845170 637210545 565724742 321919533 908801689 628619061 996311323 453590773 532857929 973646182 683022268 681512236 129606141 996365523 168335216 121054070 592265477 219652472 237575631 228332503 194986285 193335800 165616827 520129766 570510553 349545378 675584936 408179157 430787433 130949545 616140459 658109618 297503711 258475720 789408991 497369810 547858729 879573353 738802779 638067274 346383572 239738013 806630725 771884348 286849255 969508980 990198266 683218284 721139734 139401955 616706426 883559465 819719146 119598065 432419193 353190650 175251234 239523382 863021196 897598366 931796231 867399258 128371849 701844127 907017028 258851065 405607611 440464459 604154117 525843175 107961718 770918599 916741384 145349364 195724592 183751430 305304235 694855217 999161591 637374113 348719701 406913247 828771721 334764124 879725809 346715836 241802381 748416192 432934997 569389056 823591699 369207891 143295593 153937409 828068088 842541388 508844102 740707321 845490528 630932926 409185147 544346046 736392066 425743398 947444769 440493666 972280411 621588664 317345899 236977286 575139985 414788290 500044448 648296809 433317048 377837150 338821828 109026169 892084472 444994037 615811725 108576005 330476333 768552342 728592157 558341521 826000418 523822422 719479204 976975550 239996645 475196152 782880449 824712969 493139458 698303334 363703882 515239398 830819837 293512520 447368626 395946993 853812234 915543800 915112570 834285862 624524221 158234744 620385023 988147662 951144469 192113356 337286101 308897152 299730854 700652466 488388273 823498665 810717746 423087713 564456235 593390561 295169629 833555858 803844616 917515487 266572411 795389518 816958580 558738829 879163292 422593709 268432850 862964993 595904138 583027089 363051754 749395263 897696990 582356297 570301938 784482415 641971237 503718122 172486643 403919934 525393815 999489766 126780407 504120018 976477656 820635027 659779237 230451099 586851692 130858688 139798325 412060286 781819116 473387339 733001406 899148672 547238376 576164911 688955403 743192502 986138569 249197122 748520277 197386942 418177270 393019737 831334667 900604465 109536017 653469166 262686426 738584366 510816231 652897506 688937188 437356861 973838341 386128092 674898981 255133285 432888025 182859779 703451084 435015391 248347584 698426549 654117192 936669561 721697742 194609534 144756518 793905594 364911852 629607686 609298541 294866088 892037788 653297963 622367999 331035846 977347670 287234944 478035144 114321512 819692356 387869690 836436986 232219902 615457931 129162981 841307862 310407706 834417012 708089458 765188190 677428784 295676544 789252559 131397354 202494472 780240457 780335723 565547290 628398630 433102256 123731469 371393641 354238061 337276494 820891127 903437061 138978293 359968968 281998897 692986142 185299324 391088672 448156837 685672202 498731050 167020152 381053479 182942550 930882497 880549105 228227531 235586917 347988168 608889321 804064603 117655473 554241557 919295802 899822175 175839523 576170742 879439893 875479642 915331583 619943939 727067475 718344837 219296607 173253701 828911029 195956865 531552665 327224752 161758309 390466100 508799282 888495549 365476756 699654193 641079578 188390794 716444603 632297941 883208260 422171273 967099248 584966420 313998317 298426414 739120617 869515664 428958755 221332003 876452356 616918949 316513124 195231908 728381431 431106085 153280177 390779098 940696620 794850515 880341544 209152269 733597461 642652441 759699895 226608264 999458871 503850691 290366092 558032956 777839375 197999601 439998455 686166430 354526237 585514981 120102069 782109404 176865211 854745512 805576421 768648338 734899522 968748189 473101055 526064865 842858905 647096306 192103289 442861961 772486278 931157933 302787452 673553965 664838338 339077354 654450723 277738768 883328118 483864217 600945252 755277993 528100664 446938703 469757218 307356270 879934422 480668445 935040087 151699943 369261680 592850922 286504645 769127755 929189205 233992996 860371100 993765923 809852400 514056745 361969445 640314539 858627651 513443247 304514539 430537095 835227394 241570228 499562827 983896059 534932933 428708266 294022421 797322480 143528790 699708616 415901283 217020077 284676870 377235908 120002219 439221713 895683169 937040429 987659930 845731537 335987597 472116216 742298512 731499941 484429922 589635821 790995643 578530945 610834082 855700363 627467285 517057106 836492041 180645506 131364040 566568322 663932096 788821240 486137924 506066091 399636969 259040252 452833651 591609128 930312958 322722291 491712182 656041142 155248714 729918374 716557253 855813446 270426580 123357829 657307789 785897058 252483375 386668233 496094356 645240826 292340596 929226778 673708410 966697873 794780032 886502030 927238853 648563813 260065350 120621997 642831873 182290449 792130877 952062037 527471874 326586190 169046430 845248109 114240060 268995132 571854407 211289673 741399661 238164306 461943974 517724888 692252619 461075446 432371113 157011382 837711316 441656816 156633931 770181121 375211912 605316242 733684444 648846505 472075704 806549758 434558538 837076241 627922206 269099222 990991361 935958783 703306398 656859468 463539890 517726723 856741827 429797403 211988783 411090897 473938463 157975405 371839908 374517303 400362699 344586994 776829570 602698578 371306980 289125141 615051290 463554574 402867626 506073550 532737743 401772751 913698181 917707375 683956916 251525837 475398990 483834449 415333899 499897941 576316405 456135035 621675000 262205749 413988197 901942190 961469107 640096056 304060096 514347635 149435137 954333958 736441916 692150623 838561129 594278197 907675406 417699135 229013432 282548691 454548364 434304183 436080546 530126722 202247406 541363966 745148511 342150767 577484221 630740660 691797793 819158826 389181317 628357098 970623695 252027785 230355091 932749942 281617065 709635241 866345640 309692204 355763180 525647733 225214306 319472068 670244392 400994653 693419409 850658156 478349661 574503037 826884657 772378272 366487033 798155612 859508809 505882178 936267459 104760800 745634996 884832310 456847357 613244384 138710604 496169280 223805497 924657845 184674635 414020088 509678694 596687977 958035023 619633135 734100530 344352846 361221216 912589642 863755945 429607790 970820553 190426078 568279641 337403324 607538886 807908410 102213441 321370148 988824491 350057853 951297424 263377548 314903990 729372038 904369460 549234446 907431605 445059653 306111534 212937274 987959003 176862590 712999230 583383299 517553319 594981911 615429319 543225226 984200827 609179696 443147068 252672496 695643604 878652905 593154568 571028990 482380533 301251703 679755501 965346841 223939757 873954602 154056543 710959871 470063069 533879667 435646778 228990679 281533647 440915214 396801381 292790747 235954835 616772347 109645918 686836709 876600847 299066041 145529883 920332711 183192292 819793531 554364143 131057411 224071425 863105485 374361474 935187228 971430672 948580377 391276652 424202383 141570517 496126016 612336279 809992571 506526123 598644024 925506785 768072525 151810726 644696894 961760635 976496700 294146636 653958021 863670270 876895398 631745396 185643226 484307648 159517404 191696698 647944631 812382599 468213808 962285080 947334306 984905792 797729211 688786614 559421804 942375881 146560290 454064290 375456550 856629972 345932241 380156320 612152214 930508800 542608429 552562182 452879384 782402693 694520219 344929078 674240803 188631888 866916093 439850482 600274729 927027263 824287474 905022602 337235347 813812667 238552733 493355612 257913617 954841214 762238475 248397586 695668641 494505540 263149829 935962659 743946422 166178169 242544688 355745840 138240788 950786509 270589457 619896021 397754255 844111860 573236467 741488934 372006921 176232956 411629356 987766219 789162029 252863506 909221988 715259759 364379229 564351388 404007758 681457722 528234117 596578495 510188710 123540482 708884620 490542082 690740466 628207603 592874636 571511661 452203755 764610353 515787547 820382372 143991802 346453962 332061098 865594011 738895251 835672268 835297714 832792830 649546567 330020086 264465505 395359438 815311272 710871517 735174899 514174229 430445335 376253018 288628424 268052791 372823449 959152771 404450791 815056521 393113018 458568174 956359870 464557280 282020398 523598736 106704099 171844649 665080800 189038263 425460485 684942011 241464546 656303683 191040332 889231591 767873448 235999286 774458811 920070499 983132276 164373312 499937409 728026441 501195696 514071844 837343829 518612183 832226469 781385427 841641506 708240355 696162595 399349888 836682100 293393717 359005399 163594362 406895636 655655010 902217069 528718878 175853187 923112283 924469178 931195078 633154005 944201370 718927781 333876783 384295085 850831341 607347528 735755216 255330544 565981110 959352985 187372339 286853292 951359293 830808123 588602452 950574919 854470930 552001095 812912888 130482840 107236883 653067088 481098760 329455031 438851951 121854059 419924512 407432525 432383571 301162280 329410198 156235415 686413500 538134541 667831635 186871889 918306746 514825476 842784110 266033457 478344663 689109049 459440999 738381004 621844072 708807261 770173496 565938545 233467163 732349914 756399225 909895453 778360109 891398082 584208705 386628911 784224169 432377416 509462384 642844976 564516827 771659208 702678010 894833454 649791493 672509877 970269933 618100141 138586393 145811850 424092501 993637866 656568068 707000256 609513919 802977772 862699283 315302090 464998926 403229200 502619649 917079765 718288671 512690706 445876960 699325645 244926114 634229986 367485428 496697925 129423761 677980351 717634579 418890426 361783136 801702743 365689664 852912972 831111401 425129705 473003756 484754768 109453275 325725078 964207022 764098351 393974292 666707407 397880299 612062520 272892063 873550276 953206520 545340857 613786809 654429059 358994826 303430455 287774495 944263940 180528406 353205523 229400485 442542453 464047080 421052119 515224712 402248570 483920212 178239223 372288527 849421222 781916723 459328738 820851979 759396763 674214923 309716047 393751846 472286163 550301105 130581637 785563025 770643333 544297819 576184657 415621913 679447620 428208125 178632232 742934561 249790650 151730911 328012844 689493912 786806029 387892001 480133012 458426764 344064065 926074918 755297154 615508634 828343922 654258179 746822461 925385256 394297278 708488585 999456318 927471442 725633856 690100502 451213404 913547975 211297816 755041728 576125591 608722472 231925029 697545590 952034735 934034957 535304231 196405464 841537341 665351373 666624741 303621385 565386956 368205744 428489775 892279815 657666493 181512291 789892270 347044237 148725520 260294120 846789589 739106514 688388003 672164441 462864070 154344371 343105148 235422442 149923873 431765703 811583068 498128714 318136399 913239283 867110366 893681230 239431221 515871620 758351468 630645130 568969888 644794151 327487866 645860810 551287985 149019620 813668608 527289734 791414095 460191756 566947362 314955578 505747788 107671730 639444502 883351378 731222846 973537031 191007329 147937894 615032422 968602222 474426667 505134366 473211722 610720604 453796108 148591531 157277407 106019855 436404162 897671532 276358649 532962201 661406896 887957716 626791905 585815230 268355938 533273000 516704918 647786545 818638224 279976371 594028240 618862322 959238737 203310222 236674282 371641551 272059008 535016489 962966580 372343069 108444563 191920318 858691824 597983170 731836736 418026607 299311533 523809958 553608843 320294529 203660780 375802101 367862611 754654693 684011839 151573362 432700658 807601590 706250060 239819280 210129923 124079834 473486120 725271523 132451110 950990230 504358985 918480896 575564045 648909623 109797908 427240727 420616306 752591614 467647090 139502339 198356554 843116813 196089801 842753312 365605780 247495596 157466720 757235098 721957105 764923653 413669726 188378706 412256506 177621073 320891871 397545531 797876893 164954495 862632085 130574801 723518579 211673896 236971328 578982255 429100092 639280415 531078460 137354140 810335771 159942800 579217231 910128066 163677062 732210503 759417779 970940928 304432033 550754566 882610298 232526935 214145938 847777088 806567833 556575588 514461758 485186397 463208983 166343139 550752153 903501576 666884408 968234163 749804375 901655210 297349580 554786531 411960029 302541985 566672118 360704967 530983588 602238193 219538692 449157578 134304872 954900022 208408293 635242085 721535096 482604820 193995616 269183847 171202191 401057756 699797565 975172219 472717243 806876850 332697508 540311945 229594660 414841854 285711343 632206463 147986061 652519493 338136816 697814824 317415130 461339087 384075122 850520269 510664067 236112999 452339108 713080539 578596221 218015241 574457812 667135256 763235517 438893685 377376490 616816783 634316723 957037480 504693344 722108218 576475178 413621509 720307867 598830476 706112264 480606952 660359078 791602908 479422364 102509721 504950772 352227317 238615277 115088941 154531057 390491832 282755653 388950343 197225361 414149330 113575047 798808154 569943697 660917480 130740028 722819229 133249589 381786452 146412651 395463551 451462027 899096175 606208324 312247605 136561088 149123480 316816613 216377708 735250811 260655458 572103905 190145555 918372694 912557905 431578359 905090975 555133149 251565881 235364197 815989377 886152140 845959820 379936681 723601432 413680817 141782139 457981848 599780256 685698454 464493615 665923472 708331811 376803054 211309441 207313297 800422660 628970983 543414023 483128673 946614820 491342823 767156736 855866895 256857631 980149047 228165927 802293040 962313139 820878777 916311250 314709022 940308951 819316639 718945161 584297778 106454624 654351856 947191022 636332792 312565924 533320192 970078820 379997311 990147196 217861383 967524712 987849918 922197907 128711889 780780443 127330154 573982910 508349278 826732906 156294969 137852077 733946466 807014578 121659264 337300121 818154907 228775029 527280965 349094323 435622179 363492673 165237658 159211527 503274826 715154994 674214099 371129925 739041724 169773159 328789352 889078586 173382039 179214422 548253208 182616700 414160953 168499769 402285558 304258846 852731857 117518846 689222314 422105450 449044949 439527236 181945887 821593564 843234676 415719393 168840876 615768195 602599316 332065403 941783509 348717824 598167104 396628041 823011096 809621154 585729794 502635669 264786195 177437918 712411781 206709937 396548547 240487754 649878138 485921201 487711656 480776255 253443291 390009393 780624779 870770478 350447660 742699605 367916692 980295294 197342215 479116594 600588396 702869514 654771841 412035028 798102655 387940177 859175137 613142791 713000389 745135924 429198859 822155354 419737637 390491430 532798621 700655967 195439995 814031196 919880189 852421623 697767856 358557855 964404054 450320030 246751104 641493146 933219265 935485693 413736914 256111225 521203925 932134515 894084300 269058949 962621331 105716359 184593041 299319646 263053282 409915123 924254127 401421029 473503043 722902211 931030262 180216624 643904220 810567104 353564456 500816191 361560509 188524565 933134368 280224206 294502624 808398439 651620681 411124915 455365923 841822552 796508291 795679331 258468485 501669654 901937677 798363802 633346506 598210636 780166482 507891627 861686371 415757881 295402796 954484055 891846414 947494346 676422114 105310945 437823860 576958726 346590733 976096113 917192599 230774118 312663043 107109852 589000452 496963046 606559379 217039289 562687939 229584741 587793471 971843008 205006854 851989066 646542759 663368999 927123012 175046678 309262984 567409460 385639073 254022450 270578502 456645844 266995380 440790212 199690059 353128489 745832221 886499972 517713386 963799478 593462357 102569911 607979736 530849922 140603948 646779478 434631375 419379471 789347484 907051832 816129091 885164914 656408433 596879868 983078358 331199819 495846251 423773241 244745077 849534730 183258183 991621333 448788836 837959493 273407195 763090994 725959859 134371977 976231124 225784323 731425216 336865963 993566933 113494002 804228327 469195253 944880181 980086161 744662036 421517864 598645092 577310396 779014743 145489771 194510873 922188117 423024765 436052070 840101726 530643605 239284026 440213506 773446015 468897999 443303253 362836757 473451041 869468963 361364256 863188406 856046588 350754983 317726107 421188122 939894043 788681635 675760478 116380765 173722219 143231418 540138399 974466756 620817206 361885907 538376823 492862801 244612260 658809715 572448542 959939212 349809231 638393452 250385840 541587094 720817364 697972975 160496958 655904355 568514561 100937657 694854316 454892883 170877418 217268144 956917490 558340745 720914170 882520019 144125136 103262731 253650180 497721395 275102076 182267121 499571606 194680164 378300774 906256921 482104320 598994017 159726399 830458135 529472421 835614560 324859100 806351749 762483638 750351173 449898107 464012482 796427493 441271732 606343544 398376538 875525666 936567926 963346617 381604519 183968412 863827776 346447398 296911165 716391227 858715586 289415829 489721799 721398931 499859920 154751654 359271251 987783244 755816001 310261507 489093188 657751273 624947488 811021025 664905026 722368423 587365593 388513283 986397591 746136687 669018528 896437279 123562054 816790860 459308083 808982800 313574954 514357776 842274160 963947986 867780660 808202586 948468112 421917634 542417848 830709304 517991412 255207747 121968873 631974380 983686858 785896809 123484680 536772136 969815927 290460530 232164273 162052090 958675793 210671809 295980342 528342181 558132394 243424002 628866596 456920397 375218259 561418416 847667639 717239885 609466687 773223133 529115547 991227524 479014563 393081975 381870117 824641114 699753349 905042974 540214348 666696036 537898226 564215147 952831886 997443466 950652602 981381440 169592538 117873224 313783314 652815792 863669956 839019400 756352374 492294172 986263981 317737181 527394003 891521288 787890192 304128667 653725542 365147544 568165544 136894522 166454672 496042222 196204424 984875168 626689330 430990645 661095627 833046352 476481840 188843725 877914694 919672682 687196312 684637940 858689466 640604741 551206643 382618194 358805088 665356255 974568543 531512964 833823431 823816571 179765913 527359543 829998127 239113211 906508693 789120718 255744062 418410390 270999805 556366575 558317308 772792868 816987101 139607828 411158509 892049382 894141335 729349627 442158799 755534549 972209320 122378813 211066087 873642712 237783852 756116490 262567042 489564445 114423712 868088669 521903761 970253036 900744522 504493352 712157938 992783517 910412025 212680462 875819835 478170165 852343027 265719793 833166185 272181510 988770838 765668398 360188861 299944360 409462655 961014296 291273880 504919892 339517654 200383577 977613582 381791345 484635134 972820007 107579248 346390826 753849627 545011373 642500479 893001507 851269159 293910516 911550493 394307779 483347596 427765746 410737404 207430299 353897902 242464868 542672038 430135731 375219584 262594173 795938888 461163466 796468179 273576246 844456261 121228164 202034986 339296324 220594586 281779741 152847211 237150056 977325414 328031779 660296764 863239754 966100796 495179796 902578726 814711558 710957977 714728675 417942590 188674854 784327488 728090450 188813710 273012483 500173972 471046449 406887303 978389209 227821623 559330283 196264435 315327690 421829984 837792141 405807860 657164754 458068345 360632060 853873177 342164138 126443896 429300974 763450605 546058153 194714363 685966517 636981016 461319077 759689422 671091242 982570546 488381893 760324235 302213515 306361603 524750626 205877551 297590045 519410922 563923563 652397513 518401624 219126212 629398473 171834999 463155668 333536846 788984583 709239093 141385804 547052853 937608170 499074128 421521754 361527367 106385181 320438516 851893106 374585829 407200494 392495594 132525018 198241793 974462751 344388193 816883915 441473671 694804438 982511911 110952574 264923572 257730456 885685763 620568719 832083797 281928846 328936548 191197678 187714962 572791382 981520552 309626039 942767141 653974415 480549800 160465091 854454830 267737776 956778783 638381089 388446184 169307215 508347168 846880448 954006579 234373953 151878421 206547556 700955161 768709099 618073325 993168008 885636740 703252389 961601688 290184896 416915256 224342677 123914371 769245543 406968753 516877046 246906292 169587160 662728574 534499034 882894009 290510284 327659559 895861953 970049729 857465637 448667758 461021393 278081633 764286826 863265767 163983910 115357060 984367051 547526275 990403581 732504300 310288089 446210060 286719897 156957163 652377331 490208129 448684617 838917070 460527019 856884452 100154039 101493005 839942473 781917435 640569074 700619934 617281890 596515704 441030253 963400245 346070637 560058611 424021159 252651489 916393986 941190495 920377322 146503010 842851455 580552783 603527211 504513288 456791975 694513539 331512327 601864753 937554455 220264312 961061788 908412128 424726710 409917537 750263001 672872843 692529637 191527333 477961077 828899412 277684529 788552828 629760228 575363107 498169559 863599275 710697405 837820387 280363461 740552635 705833947 881599974 728227675 550356133 579572364 912264509 967242109 506817282 566681731 134208174 503164727 938298890 547872096 638939258 514563907 604121283 836249258 851738621 383818107 630109673 675881970 988341634 807956000 391036059 986908993 893627628 412546223 590016330 948216116 827225462 244115118 966274770 898977656 574095287 848480600 761829422 939354966 131203971 249802718 229149112 441095077 972439782 408734026 218115205 496164320 108580518 595784991 148569260 692314213 836882814 183120266 524010710 472497106 539232078 416357107 507184650 737906019 276896029 142054633 437568849 808492048 930953373 448563464 620976674 613564223 609065981 660068114 297610354 611812331 700639076 647596043 165123652 690755588 187903677 438073308 367145429 504811398 661101228 304682162 699936533 351956084 824540236 816125129 990974796 435058557 315273564 615546929 462664736 888208338 144972445 963888275 407392499 429988545 805848120 565728831 546689682 831110272 258170966 408535165 519795862 905872810 428975025 472570226 353354628 119994181 546234381 595549902 266168731 688569827 488321103 238238993 198944129 515258429 575895545 472529750 961276322 419443880 995562657 241115400 456425784 883647641 620023900 245041133 975527039 401309444 370191515 406049512 975785277 658954842 506937029 926119923 346618123 207237107 524239737 164477856 315371685 528933402 864132932 522536229 649560203 518346144 418119397 419713722 658530190 554215038 987021336 996868163 402556866 663219508 992210621 959421784 115941042 844940507 855451079 357943427 889855487 219430407 301437064 458886293 566132227 199741308 574033166 263405491 549852709 849045372 248921114 897302129 771393001 319814975 225252598 647560992 841877671 476409136 568887980 656310368 593737201 190909604 707161615 340710927 144886779 796654300 873095806 265647015 608984888 872603651 969738915 110344275 345208103 780601728 623726043 540168314 540757197 809406890 110638517 412161676 648172119 578112853 586169810 537409660 692072249 975239721 630362892 177145456 274542143 719164832 405716203 398526746 173828452 916458843 923041786 492275837 287749687 439291112 684364155 672604406 383326251 320999584 474601127 580252531 741996115 174257517 235889687 141061666 560231696 776802044 861979221 611761092 326685610 346454071 376783853 474037127 463217893 159489823 804649758 668463161 785993109 634270082 733625759 460595780 838978510 254021975 784839864 294501577 966568309 733092033 859607999 232475633 142074442 966443510 132791790 238032224 468626593 456542195 481489465 502680152 303420088 837865500 993439284 624348862 227538219 617852199 106744805 525116142 971943391 493260572 635535976 130591018 481385160 136735147 286329468 284139992 810980304 735104497 694049266 297543782 903503431 237807395 757492117 271741544 279919266 441292091 952223473 928738123 135322035 206513537 964852486 890743151 812325306 434663925 310633203 946740336 420226572 955929908 201563035 841770623 507064335 212720107 230380498 546869369 343634442 936551587 195782504 240760166 856754517 296316718 764329586 590367425 596488252 174213865 751151096 220229052 490574451 632695487 234816450 195691065 130224013 455954176 690089797 649429312 403858842 636600515 744429449 666939845 991848503 942685534 867693773 956781025 354964676 755509128 641478917 510179483 611666719 943280877 710455827 640257991 538215263 790180266 541466996 229658727 577715090 112494520 343406370 617425074 195330036 235337058 839218042 536447429 254737271 821137342 610781365 346841744 863533651 480426893 242683561 645016448 726281721 975903106 536483235 736376938 521649226 163991963 547401821 482533427 204660584 249184684 633820794 810339367 950266538 789574352 624789082 945428279 736418778 713952407 615730353 343424788 100096654 191926973 327750459 825271393 345507488 506649094 598940710 669671761 513419662 835643011 562295194 906852499 811909244 970212699 642814492 353138626 591479559 196392385 154733074 718384793 435596552 581907017 164754290 900630065 894628885 773827629 175435801 968720386 558811940 314707318 650497042 862852215 289832016 630915846 153091125 452382257 589661967 664695291 600082002 772871050 372885911 563913657 307859606 434735405 551820042 298691775 159714409 341619781 556914251 108012483 891474448 649354672 631570627 548822720 117793860 220493347 533759690 414513519 697862057 388468497 106200746 910048700 232750410 896895870 149153685 931425652 665784588 408443236 655273425 381824840 972714672 827020193 939375987 994883164 734094898 446357471 292014704 599783977 176650115 462386199 117955339 998423169 973859705 147077819 934999782 240495600 108487811 544946989 622040504 253754845 872545963 436842541 242576576 538958152 183147167 839311287 892820244 877164553 812091311 524634498 762786211 427068186 760088026 395165232 213472310 104996523 389598272 851658600 708021929 527763317 582983130 846747386 954527918 837949989 278802673 302546521 422732969 637420292 179131949 369956704 724019477 367610139 623496351 317908953 956923090 795904080 441972008 748238101 304573538 720254759 707373703 754764277 725994393 532802130 688221633 357677666 981572941 982522447 251470371 144269228 809842010 862784329 167122897 719707851 986014327 671148651 332466187 283896618 253376705 616611721 998768920 441615350 281276533 442000577 646377234 171223150 301599539 709605241 583528923 425771056 762559714 538977496 102645587 954500514 292822838 780494959 875256581 296878243 395688907 968668336 950797435 158702436 291710343 256286114 165954515 537764638 567272766 812268858 714108968 182002310 520531977 659871496 412231750 709480134 366720496 664812649 675566411 459402172 167452103 904049423 427221349 572547276 949078266 804732216 682672876 575925071 449075492 745516578 808906132 727655902 173497335 813740489 284013455 458343568 967686062 880954761 338003000 433513979 334974717 447904097 230659504 974497446 647415052 499912816 266509293 762363916 842115080 364972116 759575158 165466216 657398728 483015932 536019636 593306537 135768840 565017168 851550817 150972355 266250009 132484496 996140717 686021205 918849342 145423467 198148095 544970266 390393563 848685655 235270041 136826173 729235991 843346634 165929372 736490765 801312615 631758203 839210044 775813982 721338357 965011240 942478733 553623714 896043189 289991207 272208824 735177858 608807816 258338017 404438561 511972802 291290977 832517059 880174023 912430048 139298962 610945237 343975040 630441419 599431079 430599554 607519732 721353604 299997256 256128433 284657134 475870841 338601725 580519777 628496063 576619697 572853738 529105090 108314084 363581012 511047154 127570866 207822895 299475038 141275159 953096593 851496722 613873270 375376782 951967337 631235376 621309330 469266084 606197933 594210689 503954671 140461601 779688215 684906982 274929634 667060025 586467974 550699682 958016382 456811602 722136171 569580015 506591964 306176755 296987843 314838295 705730683 213274230 605730508 643162736 350890065 871532115 644270025 874972709 230720044 539335010 989834617 440293657 329747099 993423798 322209479 864564886 308418681 439987554 941967598 164410598 532557889 985756616 774609983 578748198 923625355 410927221 202305611 630041207 892452989 730631051 970770860 797592562 724538718 562238180 744128790 247875529 212987964 967800829 477129315 213880188 687595252 996570877 542060990 434643819 235182274 535358602 254859751 995031775 579415737 756638826 612773069 177014175 166537721 963171661 909386557 585093432 354512689 790686709 806446866 479027392 134429878 647950940 936415874 354059786 168120403 967203515 679767152 208942742 261952681 693722102 621509446 340489024 862105141 254537320 925861237 542537616 125865324 625525913 308712838 974448711 294409616 136919669 237120953 561696075 344644471 956009177 892982962 983156143 715123048 111272501 453818173 196942701 747849514 739376916 843242181 363652403 740359543 473590280 369642299 734152870 322808164 485754957 717560142 802464874 737649886 200056786 507281597 475442525 431383592 665472943 424585851 438886094 801293391 707207297 568658761 879528710 650523243 265857508 478215108 136907401 207814214 521630715 965576830 626796807 433180704 716749367 382760466 238120915 879823512 484554888 872793491 997334908 590705474 879575778 960907122 378303076 414251055 664736626 901092345 976049817 944389946 706685360 282555463 378353637 282667974 360520756 379365926 224100046 154212769 548324373 899546292 887421011 446943801 733944076 671241737 881614658 545070797 897959261 385556312 633377660 773100709 613745323 742163369 334520193 874439099 603401734 371288211 498988016 691990232 701428032 132472454 987713545 226183130 276028395 916806269 511883384 935542742 398918675 867351221 714656321 204299169 278831787 260763808 498606070 556415159 929950442 794228789 419746637 604273520 305813421 744414837 892594437 965912717 430842967 927502316 620197859 502187039 714804739 208260252 255754945 688071749 165465792 612464867 999704103 894687354 153014114 714330854 300892710 498483758 929884663 482377850 427103280 478281536 435761845 519077303 579829755 492988107 209066666 187406613 783300265 568264978 463167159 133990049 724277225 767112571 556203488 647924174 588989613 654235479 693685466 652278314 179109995 244698624 118291618 817513798 691511101 456021907 653456326 582859758 162250814 969996676 886316021 868263088 921651618 750665221 252732907 983309696 305283784 331381740 414111720 429423604 746008624 522214938 593314067 719180772 927511162 868759265 486672100 575782837 144479130 575652936 871300092 813091696 702777524 768167485 314929170 734274855 661419402 392830154 240387419 458147060 497466080 268248895 179892967 233670320 989265742 673174276 128433447 203754468 157940588 296924340 880533623 420029426 595753886 794969267 551649667 292752128 460795564 133770715 195229725 991752159 940275768 243894486 535677408 421614799 538036812 307750808 753251158 882966830 533582192 876920873 123637133 374555366 686070626 475441738 622170409 423978694 957277018 573113047 368483425 491323155 271428294 880924497 215635628 639494211 713080877 517824105 538404814 162655410 474976648 732343577 122682359 752501346 456170519 698574904 216831083 713885814 565686966 775764082 120466466 107925087 699793782 750563685 790530821 363478539 921320275 558374002 492319057 601414351 441214649 121135513 263071031 666315230 774336296 279833628 140869091 517241981 754546332 875011041 297735404 788923337 204591065 912130389 500569419 855391402 883129378 285012400 980908807 610970814 450994687 936862860 718703616 170308207 433119906 699218128 838740956 619243376 507508743 265142063 395447015 330438807 669823519 749011484 122201959 413997117 868521760 649775706 758616543 907193703 450914402 510941634 734762256 891946479 546541891 566435045 589394669 918593617 415749977 163045203 186787678 475004387 398052525 261160182 205262615 882842692 320807676 432102852 968303123 968815983 659612927 411577552 710936292 246290240 372949753 781341252 418134620 601973274 678896795 167087790 263085756 511356243 580889383 525260734 185190801 401335295 425452894 450931500 742998801 804698609 956183227 948297111 928594227 623219623 685683211 347550036 205477982 913420745 225587935 973054680 295062920 196715550 474994657 992319339 594157409 342273238 215044592 625780563 232973024 665235211 264209401 631652319 219912752 550160141 936737286 342861194 593569192 975841365 778579795 416558214 135522381 861676225 695798304 595004795 978781060 388572557 247787174 635360546 244385077 719019256 574294406 344650604 930625681 642162465 463691127 523059894 151216635 263912514 869531222 885826991 563495355 180893228 671137116 499896418 544858764 820174462 800673593 867472963 218585849 605722488 210273385 854953218 151767702 184468050 991563060 804709422 768253519 750871139 479776861 282787323 183643601 588079351 526675935 178471455 204765725 681352736 763132834 446933977 507298379 602854755 119734703 186623271 233168486 230340084 144341729 657900503 222195007 722980341 361737132 552880354 747005420 681887940 726913108 511145661 444008577 628029251 606621618 405253805 532899663 998225401 496415735 238911727 713668494 605447354 566670660 833250304 780677107 104125858 206838943 793065672 645357727 944425913 221980831 973848106 353860876 672458197 211108584 657528938 749273756 684480900 913833192 582400915 196588641 756377878 320041898 451122562 218467176 274402683 426587053 774921555 315050306 584443035 942935897 131096566 668044914 564486025 498283160 732677349 372278094 101998193 555336428 195777009 398146480 531364230 707728622 818562935 837884520 512717392 537144560 745724159 912273760 763993358 415623580 332414964 535886734 366563626 468348993 246602297 505697429 722453928 731939253 929221451 754200312 924228625 433095654 751753086 513757777 166939707 871460843 451450711 701724437 608776144 916107733 889888498 965150845 769913304 302477858 863397979 173326069 683415659 496146678 767686567 147071997 446494040 209526306 511133898 346450703 128577848 744488421 574376995 902870539 228579297 125109252 220589286 637692658 351404944 919586583 932539900 532655965 314842674 970560701 589834813 940774325 179349835 306230687 802862837 731781861 349740631 725523898 378551813 458497815 364306540 135638076 263594712 775453667 160573352 870337658 406205877 999986380 113842766 496858912 749556379 110830788 835599469 995943030 729478718 848423538 423728719 528260942 992348211 518992770 706177293 833613596 412792772 509389048 101589947 695211532 735733554 820438988 736035618 607385313 646759185 560269316 646916043 774077835 799703247 157021581 419904813 330467151 922757897 167858948 203341736 202165665 995816974 308156700 111189306 697633018 876783542 410044831 811380237 624232258 134386090 227240527 222099061 749331914 721889751 700797274 365802207 993614095 811434243 520492182 203046343 641088346 754170147 858933201 657547709 109713141 595331424 827783844 147435287 210706968 388362122 955985472 931950359 884430066 529798763 945200646 872465013 186192645 240164158 695986924 627768371 208119268 744186015 435128335 775676376 791544031 669988051 654483272 898755904 393138293 659656842 625449915 347510969 565468658 100453987 834078029 735495092 394803765 141894777 477675679 830372759 290035048 115415776 556978767 233091530 718327431 846901417 462341328 991840018 845611863 761464568 954502905 784271135 793791311 154492043 997215632 116214544 738610988 557964599 259218994 149439067 149490383 895726525 638503944 162805572 498226306 343657752 313760563 528981927 860398071 855882894 845233141 320792411 978647045 353502203 115685076 672552249 319480375 161489628 563443662 320885897 998615326 413338485 237373339 181505270 655011408 581250827 602547802 737661829 931123155 669509443 202790115 416851721 125116478 581875826 587188809 204802979 809189505 198997568 573099074 992302889 563016265 141328736 363017330 702591176 836606609 845912308 271988764 876837978 158310867 205409793 741521644 915493374 990453194 492017108 992852851 739629490 490361733 642001853 115409824 966632772 216175666 552395716 971475309 490394619 795756440 356518676 426648409 853954336 543653588 483312903 623402507 492654895 645481102 929545026 362425576 843246627 896855033 491245321 954268043 863536129 442923204 442305566 807630092 831914660 363881961 632737791 466079995 954412534 411350917 736436604 668282894 660022584 796479568 107534856 776986419 398242222 734641627 619862350 821721570 783049297 108464707 770142903 229370098 343332556 645617648 881550455 584890272 933329788 459047382 103959375 950916021 813484914 955464580 840145267 219559373 536377444 934092404 475768875 348586205 959634026 206236444 840351482 499521584 100718210 272359064 762459350 859777894 705092087 591130730 552389846 235836719 783719239 286019608 951933801 343586980 640728301 906684839 915839295 558450027 977323144 725005252 370391170 404899499 594901558 187336004 461476965 179804656 276689928 917570302 145783679 133760680 883978259 937371660 707163533 306675548 829338613 479217851 561203674 355899227 406657946 510962204 542734360 522436644 230267804 296288848 847066358 257373362 727474163 445364685 241730100 370588192 644024592 573901957 606651528 783001831 883976873 744907728 741814318 473123498 589576616 759729152 806295390 829506357 602920738 438777217 386300684 857900065 537290806 499268056 309070687 317403365 321183825 470698786 287510727 173162604 728305801 333424585 143511833 985357318 871604941 360713932 317403623 325776241 396147218 108229595 438705535 949048314 363911995 918856049 757383142 922242579 191588462 722683509 127386233 619563230 324338316 346438864 456815073 483261217 754596172 995166420 224529097 969859964 382035770 336761706 366108288 873224402 281236768 616416332 826339656 691509823 965377834 615250539 386382865 786214686 920520357 129710479 441240328 492438497 716697112 544135470 459315927 619656342 450106632 152417124 539693485 539732799 159800345 660201035 929948932 690353427 901958593 888415634 933203867 767266523 954451563 181224263 268063565 970541053 554815731 917212715 885318708 373268651 517255537 486167855 940953103 178124156 391438429 799636087 145286462 120776174 679985166 901512612 280557021 347279046 692005804 698753391 269664193 638752510 739549333 344217774 840485388 484320984 819301328 589070878 534522409 386791460 977633810 749808390 145721436 206673547 962662536 771841789 985540678 764787550 926288572 637181411 789663920 481710332 743501357 962450553 666194559 962412418 390821692 650373973 922385082 607417682 614193362 604932513 572207787 447209290 250940817 375327609 625253880 509841678 283986594 860622426 680579440 856520848 659090633 836967667 862564375 544079840 346644960 246139449 730353708 146949911 733387810 996009707 163388584 258511078 105870214 802958274 340349856 278480173 960271671 391101239 499301730 671894038 894273555 398965087 327545877 103911263 651046345 960880785 833131892 223476272 778233702 724888038 984247395 502529423 367127907 136031244 332676856 722283206 166698526 475962925 876177055 443307054 523248039 723189141 538257934 825338032 295687366 941290541 647389913 375852115 303253794 709945315 769368492 906881846 221943752 741745044 111094667 994156148 944251945 925895902 386451382 464268995 961595365 284256213 750369219 383660884 803058262 933691458 596992659 934351251 326952880 355328219 756752460 887452537 939565801 456980863 887839857 109164963 526719688 816002917 389459024 609935550 771703098 912685274 887958307 364568705 807380411 304408168 679046779 378480643 328987001 327057010 706924384 269589517 552648240 468042813 813338809 533494136 217753793 417885226 470546492 269446044 959693174 966208788 344777717 591419209 126498381 961982811 580460744 403693047 555106638 292660095 749103779 252640661 582404373 440032375 521469813 858868702 993607568 467597859 421254180 464955243 858223748 262279268 754164075 215886603 308879631 225264288 157025823 147451520 936559842 322680819 263988247 177757814 762377581 718624082 380841351 847179425 406275021 961316119 933385821 231550125 820577419 583364800 621331736 205213404 850980519 795906909 574335927 781422153 578501025 301201326 523924659 286082005 411441751 277395135 597730478 565452569 375804087 681508617 174864640 818629291 877749063 883831317 610354391 524223562 822309249 946689165 167253283 556260323 367574292 887138516 991112827 550079996 546832608 635938043 948522138 533729301 755026983 168224312 160852441 542805491 813538624 358932044 202301856 286160048 602799461 156315432 296362102 468117817 282773958 308024885 824281902 739178241 552299092 226300722 950527522 896100107 254756878 819233236 221317332 583195144 584976366 236092916 852387954 257732989 532783631 113912582 518835017 969860069 878093469 186265209 557799034 329717904 878132365 897978222 805247427 667538193 529038217 590108889 287497443 885506785 679652898 825889458 185582909 688838948 946291926 405445541 916193296 520727509 436589018 553701892 136687437 599510401 282526257 278733424 753981136 322363774 317256545 877227162 276684603 426962816 103086681 896095087 664999898 793386953 283860281 300749645 645266050 144330879 290473733 873398471 500909868 470223953 696571730 627800327 119510514 388749837 242723788 188781942 465699124 453598026 619957348 970590131 918787514 738280265 557115724 578919236 351958702 553496043 316728441 350951987 415289994 296639687 558629730 638514056 578103014 762563896 846797710 783258177 909977027 612254961 507501298 449003613 228924003 502552899 255089003 817544300 609454007 155757032 162118312 688204988 721644659 772535379 849308313 274770670 910866653 157141506 513706999 337743379 381398199 898046381 808682170 375337822 431439361 847351245 813944766 213585393 510780469 608345159 304192263 225405484 923582734 626406104 425663404 678347284 297411260 127379786 863525225 903075003 336860640 473321400 478101137 105324283 320358722 414610891 221508476 683139397 455031419 226596940 278998670 260221834 603158313 369949589 541801513 983503818 357099737 671752094 265546111 914393987 507043166 257140226 972423213 156101357 414148905 121073260 703914919 697366194 336732468 759493604 137462597 468553996 611378252 842375084 118854489 453645210 465690980 449366205 619156846 109496494 288831031 109231558 530513635 921730798 745042250 757150545 203402054 734010797 456820577 603156914 174385427 872646600 922730583 708574715 699354311 837431338 205296766 744122057 537865327 524147665 724116531 570110512 605593562 117827929 761436980 763020198 297063674 881019232 482795349 898729932 270360821 852656453 927623043 932568449 658690711 565618290 360534434 411694078 419211543 706401730 276442519 751608099 315691855 626456721 874678459 352764738 860276649 476517962 158292350 621377408 999196716 624079538 866569835 893376637 383202646 624337972 325610105 717205630 275316966 992174524 110703441 168676639 393638461 174672470 370021394 329924619 111043282 355369017 392472405 407492809 596740280 417474326 395511340 454467689 630112246 979939890 512071072 621492721 760660633 578289587 209858728 935575045 825256444 428001350 151042137 727963113 550196438 370389980 807141087 600026590 488641710 171193716 448697579 552144033 482508578 973122105 944306895 693064023 250043931 826472706 686417079 424935433 298318545 246291539 437626407 753949239 549113995 700468559 979603998 675689772 293317063 789915569 520500591 837285703 408397948 550435846 338127620 789688979 183498043 202822874 718009176 140008059 989047146 207974164 169840795 191713911 594207486 477506287 928524506 325496479 427129931 509495779 122925836 905999527 484494424 906262842 992209492 822895602 718584043 368928241 307864143 412043355 901613679 637651234 932419888 903663750 113491475 266652757 299510339 290707196 281950826 987825821 450932257 476147608 960650114 591136176 815021914 574365287 902081986 103360360 934123636 380381975 647521948 420731467 953808137 589258978 986245502 417449955 837673149 868300070 958734434 611098268 605863036 875992612 670762134 784092996 250791173 881945308 350265403 364649380 566298839 514536570 588243182 729753631 469175737 697127122 221578526 977222134 185152158 532138824 536634057 443969785 366389156 544053275 593453553 721702995 986726539 338209234 789885549 831352904 707380850 899723511 195111713 162279824 751865755 446303828 741012221 328968635 189333636 973809323 110920373 495426793 753274830 318133116 416943628 486408508 212581784 366127170 438370841 887811702 946478206 386113980 648428151 778737906 961540131 515429072 359996230 186928346 674157088 623569963 803095815 650510970 918197469 221924367 702578637 499402942 332044317 301945662 448584334 821824275 770514725 853263244 980077256 947102112 548692041 673594387 663982480 811539093 228565106 641010969 545255851 627944970 691756819 180822504 840927195 976169637 887494557 572437621 105730628 822336057 781689658 300457484 964967817 304441557 242307844 309134226 125432415 851020973 600661467 286084883 180327916 893038347 618417405 821157248 911926723 879260868 275754703 183427598 552162748 323580642 680420385 932788316 859754715 384063388 509890044 522743976 286526117 373944332 663115455 749151699 245932208 234609364 481671640 933326785 926029703 238219172 982264208 878283217 727244870 942991184 775707875 398574025 497554951 273065795 338463547 728130058 887472437 728091235 508405668 506330108 203035167 223716765 645744111 563505691 172113893 861361185 180848909 303927653 170655828 651631160 755522296 409146307 279281515 218203194 895519017 422367971 417955307 497376639 228056019 506291763 623800605 486758999 715386613 859121415 520589883 887873691 452821049 116303226 125806522 761316132 933531131 421304732 556419829 809609213 454212042 609540008 107404119 284480815 281740137 930771998 585308228 138303199 732986656 537382357 400354935 908764463 514524446 579601100 370820323 589319685 544600496 440148965 160002063 570781873 271111000 878921749 577417252 677359703 270510701 359325943 845559739 997976690 893913136 582910238 743483768 302000495 808132725 861013236 968833233 213907824 868909914 810793542 120812244 508936461 598397819 472476974 336472436 696515158 816932735 927354569 735139302 422484883 390030676 285487999 270348935 997239257 549617183 203246393 982373187 260142565 412298990 470697082 871969966 778911365 786865827 465972063 103508076 763825788 914743349 547709837 940555703 959109397 304590324 870614760 308206034 816738636 766119426 555947832 423335358 708388997 639148068 579841542 270405464 829770763 572163970 326003680 957045762 333167361 590399291 655532741 613509383 359390953 278526778 523651740 367687230 798605682 871133264 915450695 679474010 642739400 450577745 668599908 670520910 489447615 163817264 456251677 550171620 668314209 591148593 885440020 522846379 684184697 623831456 228396954 694292103 718586896 395883414 827098555 465928874 958813948 383630709 908690858 437781539 548209338 364286092 261062682 706891427 902314788 146121063 508151876 785982913 851068075 498068723 392565641 463566648 959384280 307895787 175539044 334690739 725348069 379022825 276690815 875584609 939298032 756605240 361835707 215383702 782595567 885480325 965016482 294044020 416018564 391413707 967176317 745397149 504936883 375297691 884681729 205747943 308296661 321663909 810005382 368410807 972282771 227669216 312361778 377464169 990300981 629400975 434472636 689663129 962294813 311847787 182353315 734826756 261831661 552134017 920290859 150180231 183204302 458024818 649893330 186153027 385660520 597099527 200690203 806025911 907380493 955154130 299965392 128999825 789010830 434387505 597441489 325461881 543706482 444968922 903079551 601262963 750337482 247675484 467191325 470949936 471991994 462788031 351206694 251596149 121070457 548189792 525664669 820948716 294258307 303069113 475370788 808185530 683334360 813718076 733562853 792256379 952812680 138704476 109900081 880987455 529406256 645394143 668926485 969148799 968744963 610422105 938500485 228926776 566103270 463169604 471216313 757702563 606250452 336089825 438394317 542809807 150596275 550645505 887417898 789405039 396253435 646678871 948680628 616204412 499944853 865495115 302990649 169932267 609188435 427445762 836243579 217999657 140693989 475275598 226426871 567826425 720551098 570540377 955418779 757360336 376105211 610676278 131574769 176460764 602047286 688982276 830230762 730207350 427769586 545392827 645364461 713478119 286625389 325754384 288684237 362808303 632683488 359428976 493686713 927844371 674301697 729710933 711770863 878828822 299230459 783147759 703245554 227505533 106583578 410194436 862207885 925165799 856077324 314020559 791716917 875524938 589542251 264666599 951685413 484814425 492045776 337100424 475111321 426358154 779721639 709045726 216421449 423080827 298082236 693972144 645718557 993202977 559952982 836786534 444154935 322734439 194416012 325723996 133042942 448504754 839697331 934959666 265913071 776643084 871205880 510677780 632650067 863049272 517445007 469272263 633828838 869801266 170576880 895634479 654913629 681194525 667866596 459407682 903549223 435119002 347542522 286416665 970230492 752843757 303433804 226347170 321032573 767685955 941965775 628185738 505214374 322965471 918626038 978472887 685124482 528741719 619688652 213397066 248960472 384069068 195633728 639725816 157371072 383743553 167911023 607260051 569912051 736002475 532601506 595525454 512868153 267446712 727584719 547449826 678936646 143886044 850491742 155572680 594365400 602059699 214431871 861862150 477725690 379160165 178492850 518105563 657665093 546750604 735359165 757704861 765077681 252834948 249139222 662969556 615801517 726743165 206664847 321787837 840206141 544104286 199514361 554618486 700264224 566100341 786514264 537632755 543236389 833053034 173050119 583610365 176642769 735602183 998189275 953505640 728561010 552641210 803490006 247817829 492622379 842271841 699048836 406167798 991569819 584096895 433222304 924425753 454720235 278990053 854829596 439830220 827469351 328144815 275469056 544028688 486257290 400386887 293206926 812862915 712162035 722877069 181266268 819325720 592292074 524323796 205029747 633878358 657766669 331652276 349848312 160880922 318746831 471696354 953277493 186180199 284845593 430820581 688937310 129969834 700851961 984259315 719525144 401833710 630448470 427893317 137561203 877558165 215680310 807215076 283687185 628524762 874526126 899997879 848562107 802677274 215345856 687757664 583404418 711349850 211357758 786114106 177921371 622758644 807767272 926489987 619751292 318664265 537475979 200023878 601647119 675251682 693590172 965004075 326257189 413695306 729185279 930543990 961008094 136396623 707894436 174083288 543858822 217149347 126093150 524268882 241535038 888145171 602999467 175317575 242361336 549953571 255820834 119969979 660783170 949146482 680150017 167346973 931529049 572158251 886044603 989667459 420908812 841779034 180361524 344158005 228595135 814461546 481242218 188948289 952672664 467852453 431216969 937667406 334749898 423586951 673235690 987569731 890354975 997012824 760442582 261048324 227209688 771324062 926080941 947843553 640749607 229629052 930415040 720611815 579613338 218204733 508403499 731655702 716611009 925151389 167098202 318342527 869953470 246136179 686880607 241123829 579402350 487367533 430251104 499759504 966757321 700042999 538843276 123869175 683374216 923680851 815881081 409257401 748839457 517583275 956189833 961756217 970173196 891823659 924309622 698160348 849323806 671543215 467578186 966710774 971417790 752377306 147728248 477014294 549455167 730718403 586112033 451372039 884454074 641193623 214685775 681287551 200454514 557174550 306312259 809025517 272825486 363511413 635767710 544828021 290784448 411015232 200926901 425161255 272171572 457512170 566387029 829399979 866162044 400131950 164832105 467968929 326014898 397764708 682189142 121415667 320566048 355458056 524602813 566540553 816182501 162663899 833920625 610336047 871611965 970017360 426180914 348063607 242267425 459475887 459490238 511440431 600558479 533297664 868066791 428869553 590761375 642085603 969638941 359118562 301162915 964138000 850997759 937986278 932018217 458397115 316578944 594513860 298045580 858057917 734801520 702185342 698821245 180612618 814990383 806389404 981113746 236393260 972562400 625751278 544856560 368359508 401405344 199345068 235877002 145596598 616718134 637411688 897330035 983987934 114211265 418266406 980704749 828336732 275711004 790449403 923586076 128515090 475541768 110842540 821280213 350333836 486395922 235586585 960722235 808220590 450109263 410238267 889432410 220443876 577697923 790323541 808022605 751223521 760013836 656189151 204042187 428262568 347328648 736001290 844976631 901421832 274020383 441110259 231772932 778593362 978960753 127776518 426136415 130801165 341708362 807397544 109704530 708000850 326353119 906659532 485355483 704139608 731840821 941856805 493725587 515344477 193771816 527365817 547679959 146920727 621097602 485796142 548498281 550947513 952728649 590892195 750645862 700181736 924970323 535289079 120486460 430432305 920120371 508555695 481838995 800898765 501961479 199368255 958708529 583918493 216556540 338134760 824100931 251621908 187838091 282215500 436583269 805765966 741836590 856734911 613613566 250214025 689026510 321008861 472669666 539420753 645742784 672281327 528889181 274129445 614307847 164465295 764410757 174512408 369946276 427801037 327310575 448444488 667963853 716384080 472927082 369582018 975425477 833714528 139460987 714262491 605698120 226574623 925863259 936447170 216267358 531955183 471493309 236067938 472796393 622020060 871882655 727456417 327332521 644135866 264659576 851332640 823894658 873014144 854362078 625906862 427166230 343303513 823790433 415697256 794505505 122944813 486207691 592443864 237584271 826547927 962420519 902685477 601728497 489881183 247268602 109159557 534036299 942997958 439020181 560553011 657292837 374827959 853373407 481010058 553267006 118916402 436281057 250448642 959621255 407456690 874130732 322382698 641499915 940439610 525496360 215685247 632982492 423645127 870462648 784393802 656045906 782491993 286435368 680685576 236085882 178291865 739991723 281448349 203965551 554836296 486868952 838739897 604454723 687288646 482858951 238139309 265512051 760124552 359150251 381496515 111647276 287269277 149073040 918947650 374061703 267385017 427275994 647020558 395487485 520834758 686658755 814004590 764913050 174853477 650027951 738149710 846717839 517078510 142242631 615226363 718164697 292748595 602375567 328881605 130296964 603395963 504617161 316879817 330606103 545190163 771099245 717311509 393039389 303431194 887068458 339211243 688184137 847595352 828656338 383198954 167201121 669820677 831276137 980525067 437370336 939601062 915605583 601405464 357889253 427533158 233942284 782449204 413595932 785179841 603299755 120345578 792976767 754765760 278718598 148132331 275633054 397910410 226873156 416027381 279431897 605534804 133723635 657588061 647427338 923982187 287353519 740540765 221635391 879588086 289576151 112853069 482134472 111801679 187733932 919760939 563348198 375830087 809792021 162933125 808079692 356356101 613479192 788802246 587569521 657916299 553012959 693676119 592571798 545855403 524580374 606149081 782965645 764278530 857942313 758768021 161834340 957398717 234475129 665966105 585352932 419532242 276301260 959222052 435949239 789318761 327633204 850617598 382901244 665854707 283185154 459746234 385820800 501719720 889788884 250784864 445026205 569582659 883782899 815487574 281203113 376069464 632367234 486526540 926828200 612456881 484997689 906777733 750262651 431657185 243477509 440514128 372238184 214321017 140095752 751294437 630565587 626609198 952423818 891376555 982432299 290720625 916260223 110168257 679256868 484473449 143161767 710337191 144801913 813467159 229762670 754595026 576344573 956843512 110938612 769164845 784690020 687250544 195299092 924931023 889394098 329605521 688106930 149365101 547767792 432873566 422757055 884985380 456520283 236781901 381819695 474267440 188215399 886063107 573413430 494524511 360343379 795845458 214395276 531425961 659080216 617701115 221594504 970927334 165144989 415126559 942610291 244695293 807195741 441469044 342338787 690879550 781448500 781859758 635317864 774845350 892374944 734375703 736591557 271314729 429012938 350515209 373805460 223767635 592938496 471141312 678516293 607610229 386724233 751606033 705165308 514058578 827894527 744349785 847405858 961327293 938002969 851264543 608086272 833349628 419891494 897009326 696026786 722044935 142728949 554148641 555918938 198646431 799092001 392836931 774441900 996695687 114078008 502291076 621728878 948776108 750711132 889311836 632750233 668250766 632175442 305513685 514396834 270525746 468051442 981130856 311374644 325389499 880248918 129276382 814685426 793868744 273399832 718491765 875009552 284941779 170609253 111969898 429934308 237469434 402367488 117216040 722621163 456787280 890532182 727196473 107354359 515956501 977229789 496803000 970998491 475278403 246770722 554694708 556081111 105825632 338912932 271268785 278972754 569478703 365702955 658597412 572015736 177131936 387090320 127659645 397315713 685293101 828947860 488153416 436293049 202981633 719146367 713584782 624121247 803164800 801758817 362704595 449207714 706133626 683944175 533833535 723971528 685693738 668297434 598832550 492093478 744682482 476555273 421513975 664624477 417934101 467007852 251404669 589555803 279633762 591844070 674161154 706538990 459123875 879774282 732347324 677595130 401406102 341632335 719525869 593071586 770560175 620409844 171465530 441257762 427271474 944096679 300943779 900111885 340374176 948296273 778498150 116360989 616177760 406048182 956057589 343999243 634940337 649114886 814874638 415099279 184392843 714434893 169452952 800729051 495827241 291211545 787543517 250396203 943877515 726417000 598870584 219411762 269751999 914085772 628715570 401987314 660776861 561014543 569649788 912041722 977536345 887537684 412629077 184172043 578113746 513220393 518692292 564555404 601605902 991683048 275136310 532785259 513226166 614911722 433521700 438793013 968039816 188190379 453558807 124230313 651091895 712854614 454862880 402754817 657345771 612792104 255959024 585633055 150793798 771755971 665808097 422889326 326247482 817870247 138816093 277316238 941180108 933676600 155820258 740357165 413396821 766641042 729616659 217367082 937389577 189531210 549267855 641567725 831024252 185884605 777832845 535955160 769044536 779617310 457748267 670201766 942658982 876897544 414513310 650561630 141644275 487861071 161242063 626517054 221090404 957101688 859268322 811738639 278945603 647825227 174422592 881646129 289788993 676510352 423698468 556680027 328749015 722888882 265135380 818656876 196735867 526906594 186335326 703277531 995811427 717326566 313746598 807128426 998211912 285546962 448153108 866302543 677537448 251325894 939630820 593121599 595647469 724496837 973412071 792586789 225658559 258627393 456089318 973734383 896139183 496289379 127503116 690085755 634366324 731185455 772281405 102498676 654960053 290305347 743818275 116344052 851920736 847501796 466374348 930431789 536344412 922095420 507300606 629219473 964070897 521473495 100578710 561905042 355279849 977107195 126887861 988115909 249861910 524231324 204097655 115915220 518834634 572617911 898176520 723053291 199330957 915461058 416168277 791126820 428727967 190778475 748668555 702042604 464871726 494465583 860312629 893327578 165073138 963247365 890843926 490777078 280759754 639890310 756526231 996291644 554787139 162498702 863177023 399107807 570368294 543508545 904737240 597978549 289819093 794377612 965634260 400205684 106089403 394069907 322580416 162412096 940022089 487697709 535323180 814866831 764741828 213531962 221396076 117886056 801938143 298993380 109862799 860115033 368427739 328088870 215862901 326998036 276568737 665872957 531511323 291311848 394574069 365426104 143842746 552739839 529267970 763140131 881229301 685398262 780277407 526444503 420761685 989703591 818694978 902872323 425783680 868643621 749677793 181939419 316273887 775491770 484870500 465563866 456988232 670298306 353802547 271848787 647264263 804594995 162917013 675238084 778035001 441180217 118610048 562893338 792080096 979052463 662327140 989756874 128732722 912256769 524567781 628471323 318002084 846032313 595716053 550531208 797151844 136637317 121038201 662717027 705234303 349126710 972842137 124655222 130215899 895163605 853207572 376240108 790345992 148713406 306621800 171169308 810698208 885784699 247426043 437927106 519101391 784997464 826487086 331856334 759006379 414233310 709753920 200184670 840528276 911965168 256658495 659392771 114116315 944218077 195803016 806785932 169291716 340617628 739357139 315411299 438697336 417570504 102916240 912357655 854126781 811497177 266962863 357853928 250085316 129393339 668530867 450553573 921193137 406312080 887218626 247794511 699082269 537959306 266434572 407016469 862347008 439098023 953874309 923504072 919373693 748009523 576595647 984351044 775077425 979039291 557554562 718102561 129208358 177269861 869877294 270066188 990452642 281065936 564997709 628414580 128434251 665469169 892279776 530486064 804786035 362299954 337559841 680649184 634928716 653198033 800058338 373364214 351617242 575385494 836020231 656507826 223098938 949037344 344311067 397417338 106510544 285699276 880879804 683599019 693941095 868525481 175035554 617078362 474607150 251902011 892143664 780506684 307514030 682897457 876390449 275104352 943096896 957260171 769937320 622684629 368855978 469229434 528728552 294485917 105629348 575929233 817216611 245236064 251103951 201823287 474257986 540651567 805727790 882990129 500745677 565750075 114825063 972158164 221533028 287377735 264840173 487702058 370586114 978887187 109042911 303808797 740617996 178508832 448846781 538298824 391676931 400072135 851229108 229677101 815346751 286253572 882904836 211208740 504572472 516320741 100182091 177833410 829612692 853057166 305103782 490296635 931787605 442271944 706897558 575299058 275390313 843428074 190289018 576593851 764991944 238438082 111232530 773605170 707194785 945423666 566957603 720818537 963874309 883097993 983616830 120030231 861603085 539310624 145863277 328268808 169722070 506088074 868890428 681982469 291456788 362912110 244120350 529017826 126508502 719209425 471963906 164552449 437899013 584699769 156250432 607506651 202207207 472839580 867239280 771618631 409270185 745863380 327865667 304444337 578123847 680223188 972913427 113623413 311026590 847868876 710021020 353568208 143776018 180672224 133374497 940519478 583629848 848783008 190595193 390556197 547813529 699495392 966405174 503209249 183663791 119218324 928271599 187504009 958156423 578319856 117155967 808448280 225968288 750269925 689065458 348912326 611313042 436225123 753892222 977956031 289894003 378237848 142843628 364581962 551628038 460166359 223893828 520187126 443100883 154992935 818769408 568880938 611850374 485134376 441641647 881770431 402726476 610074247 439700325 976645280 208562224 919558039 658791140 620794584 164838376 494693579 238400866 922569490 904252846 466214213 952666649 303295730 731613429 556911124 786955330 846906757 540278311 383681310 885576002 261473772 790564262 511924972 895656589 902904712 361369733 324428657 141410563 796263579 256882218 342288230 518415401 132383325 958860846 146384727 452726669 198266366 300742800 634957766 174390747 369300011 107985971 409961123 111145091 416685559 188539957 403041022 448199805 430284854 948396619 409857627 201761081 895494669 742275411 485992762 557129508 358270911 967101369 715264918 300343904 877909269 171781276 176731437 119989218 613126711 970484455 181963168 781829097 371979866 329690584 993189038 546373129 380708736 766247414 997312170 701644762 347777241 323408573 967300924 844739408 889801327 331514354 475366989 304079187 458216189 369378758 333693106 241663939 491862122 377054103 526827388 207918515 593469802 175392539 186722366 130357644 317532643 724525704 426769331 997394625 137059248 151539776 997609992 625070123 884380869 179248554 257571591 557204984 765346837 755652500 885316504 299045601 204039650 535517298 385708248 911619286 894517120 425290452 244166136 974113064 207974940 902821190 484655022 406307680 979598893 100619617 960794332 448206676 997031516 392588210 606439359 530988388 592864803 469851678 302802642 561383068 716791676 733809743 649239091 943938543 435717627 672240703 692467578 536599028 485748960 188465399 743063695 211913573 165478815 771654073 425821843 879669863 372052458 500601086 140403540 963947758 695518346 300457552 559872049 616735491 383851868 262844456 986164459 796398139 372427519 556840035 549183288 724383507 550347954 742707100 215512207 900207832 451964865 479001516 329647278 253442645 426004586 936102081 447986246 950981742 522599641 260778375 979545394 462259418 715706272 980011341 822776714 883904063 834859224 812248599 651338436 647130495 264763168 845389001 589544657 134047455 538109142 267597157 884091599 302747684 292663827 681040356 863247885 602840423 696168823 519624204 392189791 925396091 407122155 872455783 881135606 358407182 872822610 586030314 853126554 284752240 783776567 161525212 130972046 841759659 700847040 562424119 941873383 568879824 396757158 878514947 800540598 695473615 707960265 935965604 881730054 161775290 160897454 847611857 642148482 247769445 404674221 686272024 881749631 678640684 680844528 415261541 979729848 254857059 810487301 415425595 458656320 993898132 810682398 262300716 238693663 857926544 970470865 963234808 525515608 828111274 891205451 451919794 857889976 185462608 357937613 891141981 850257969 144375064 178272304 779262205 606624368 318527347 966021129 817250393 542409454 516409604 675873797 497027098 352653806 114388325 394800598 322617098 192453617 785369328 712426754 816110092 876330020 351458300 724302085 126454933 297374171 591786700 859010900 572271340 749748439 541843707 685868790 712461231 247900775 291652025 763162587 194396615 348859830 582433292 142013085 528576515 735067847 711704570 253172866 617945957 376692097 656797610 967416718 869332619 573418487 952754841 597072735 418835116 305973094 276683427 586226197 261315125 661079258 673104854 223858379 745326147 682493590 923744584 466751160 313803331 596978128 116828165 150850136 954992633 590145685 392037687 708664183 741117567 591399779 851739175 359240723 624619883 739079241 303791462 759001132 449183224 630384847 571631370 133863263 640232515 747687920 247547964 261847082 823784978 671586879 294286416 846409598 562451996 350928571 508861685 723750149 996099392 179532940 914938543 403466905 355869748 156584541 971970399 770655090 824503926 285489880 934585207 694610786 156736693 729148864 378647135 589711620 856105937 605172663 847731915 985030652 477216501 225538078 394030269 748327324 433533602 753421307 704987902 495291352 103226590 644315886 767720293 986153164 755322499 162151142 930893542 806615743 644057763 935543849 170784427 686832607 729748968 145153536 458184126 177164158 672289697 510353844 894579938 394413126 333653686 261695562 637071378 741965546 816777000 911231553 469806118 635185840 651130292 979157626 499720253 671739237 900304653 924745033 393142003 279395652 626130963 432301285 163039187 471148823 754563349 626125560 827700720 167189882 259528392 553040186 597588787 319967161 147758543 311089789 179594991 259590329 249573774 251783191 624760320 231414061 764448043 362458490 226516124 907625586 573671682 818686146 570765475 991754381 783902311 736996485 737274975 362058465 657662057 339078140 189333723 685597116 576279965 884450694 361582162 457655401 928241753 683566854 629652769 247666191 741312144 234321824 435007726 552392655 783879596 485507057 922622039 737374323 758755637 426203319 969479741 180182471 733315809 563438228 372513623 413501671 483794516 625691093 366673837 332194603 237393820 323683879 114722394 840834171 740836032 288778235 161738870 572751059 919194512 658278176 954840242 462680446 427115411 492222546 919208253 344826400 604631653 410621113 792197646 508396663 709823636 477431920 538519905 219457662 573504667 666688341 147215047 392723561 640526694 169968204 865204056 133304594 363108661 562926187 314313523 854964350 934624948 683686629 279656704 640845714 907806587 616806334 770762483 272864757 440302707 838684169 964296164 830733476 560216274 163859835 758286992 516709978 306788052 821677505 621890851 775111470 779695370 378294200 921891314 651979352 157811308 174645800 746859313 712991188 652760093 589983417 929278506 226702971 734194819 112241907 643763535 673244773 971122351 521931427 257933058 673626163 658158352 896169247 350228379 322065472 870296805 618181703 222614556 804680531 282392196 398049933 869200367 409906553 797046936 416020802 284486590 494594768 160935250 937095717 414097727 746410537 450185395 289055529 723546621 413346149 608141013 950041716 532229490 373389068 271860566 402246515 388183904 594515024 567221758 238998802 121005062 957376379 689752806 961231666 814977025 514845118 878936757 197745445 821261453 295023961 638266101 926170334 835412141 918092557 987239369 714343306 156763668 219264705 219425339 617331797 827377092 982948372 421950228 626214947 193115327 533485665 420252328 540119012 380950480 842182992 128167254 231471026 547549486 486451837 968609271 441858393 958061983 990626603 562475796 412322927 552484603 439380099 931939243 143737732 892790888 364573583 515055840 920964634 463029258 417226460 339645195 487996933 813081665 758265940 161548405 416755213 350123447 911132800 468982145 437241077 631890753 619532381 374308028 281679384 485080831 598206461 896293880 477947273 185267897 795575430 246127480 610427443 804559610 125653323 388492511 317739571 355968685 529087284 371564024 541929413 712180407 509281170 791667229 370067119 132738234 369660784 886193701 962765959 238670118 701513384 677680896 487465456 335798118 746542464 917186517 535440003 170020460 896727575 771182743 354888762 685419408 236117356 120570756 550011814 526192821 167042658 885376730 625249512 697616984 784876653 247832257 679722218 783280120 161965739 709077232 751292722 988531313 281568089 432719278 670029197 903472435 508637827 536960105 124181259 282646446 889456822 930706450 492503135 641310034 790812222 699114381 904794521 254613706 227291902 782361356 546896095 383105305 132502732 895797712 227372339 467200994 814157727 374099777 546228860 226898490 697896372 880304042 239142020 589017098 114854458 395868026 487715197 664467391 403542484 856965377 300083864 391017315 958025485 662958512 805163855 595531578 726295916 468417074 510724708 666548267 594266175 675696449 312180130 245065331 969376598 714988558 469284354 205491381 773698291 683665703 442054708 411482134 534444805 592315671 667096942 893951004 473634937 145355281 267240646 189961527 632385458 972382897 690359393 483188498 785468265 285472826 491342171 850011805 416577549 422810402 649849434 443771827 260482350 266850755 658032841 148214474 159652649 355989207 672262090 846507901 410149843 834667894 755023158 264439041 903484312 237005309 711560633 960038416 412199324 671700815 366967611 376545067 940519151 268599513 895339959 676675508 441541258 494907138 674281117 590254444 797079836 195722033 808567194 913640227 893739645 549509677 895192505 418154784 842946845 710421459 360887102 365403322 741827495 465807874 471591569 643644124 171836455 135482850 398125773 275669367 715709095 928903995 518372604 898557919 108880957 175441267 547617785 172938308 116429817 851507644 393348671 618251209 508478984 333588413 176442296 109037404 989757977 285456344 998799160 289635533 962344801 599700376 331014212 292750674 219031532 692616745 782383294 641770579 525815561 408783033 148705826 766811897 804730351 243422791 598271093 513239413 753251678 574405192 190540490 518277717 771421696 242436871 384346921 156521111 506973831 556160820 662426370 787899721 106193668 640549896 656294022 978864410 543192702 472240829 429681059 752389187 537226135 550737015 505248414 916708039 230357752 191365329 219623621 753778917 641920014 325826967 387576179 288062620 787810604 170266158 535823837 551831556 395635632 530227862 259391496 574012398 233243115 432887655 379556097 168816511 836487095 364947963 557689203 980685743 682654392 526750842 525077201 955930098 229934870 179368567 827926103 204756795 631418063 507581021 897966630 387766714 758967807 606564639 219462632 643490733 954617614 182007990 780407330 915318242 397028217 783637607 596460420 231506605 685385307 936608402 931704702 509467017 793578730 905822764 519029814 956815549 554967868 355181403 622785693 299892031 164066766 752583721 818384912 768898597 134127245 234020273 844259357 120818584 972244795 511139323 659880418 714060445 918889042 105190619 117470539 247153032 345127422 628002594 232093484 809521344 478636185 322690432 167634536 296100837 924367861 700780350 121887705 458632196 503280564 200522537 111791199 354447870 893653207 654609139 107020566 427914718 121013239 672525900 674169392 962466741 309019128 624592849 896007832 390689442 477622699 825667058 680929418 716252107 151624648 712146921 189346032 201386416 930751771 412192985 677087756 374679623 514008369 889750981 577910970 731612638 606922371 145496389 140432472 199619238 452895812 619304944 994241745 680219450 219366331 146190003 570534653 735800372 545890454 638764346 967164180 355870002 295961142 457989570 495888564 697121037 689846070 486655909 888995154 331807416 832517562 811238208 142084390 974860267 426733542 626682474 103618694 468391390 684885729 562566073 952649823 290062389 711006397 105796033 268722552 223638983 281853974 243374044 639456994 128249122 585404800 538483385 236962226 734839346 701821632 966060714 227067183 974188845 146628327 172685572 337680689 242630946 569186140 787241066 757450326 189606944 688818460 833648470 853130201 622912784 783578878 113896727 474828738 643590630 381977000 887175212 439048779 472310833 351508267 300885549 742532355 977121172 597243495 167380404 548658178 693543427 481172009 514359440 673442668 397968204 644544391 461569628 753006994 303997826 820079601 892210032 135995272 968905991 680557620 185798846 170074442 842533382 965656722 560276970 533441041 431849983 344118820 400621559 949215860 646992702 821483709 812697163 119572134 442518394 742510130 794774744 435287620 580567590 493240380 631231496 341014372 800181148 197232572 705760648 991596213 414103370 737387802 858282102 764718600 261771307 559937889 105801714 709150760 737606085 537686345 618440602 943844742 121269042 615706345 161616511 298308353 450874511 191082319 210468323 554582400 916835426 633470913 809779965 648649392 187870546 237074636 765497627 284841911 885597118 566501947 989343881 384704344 807972908 728294988 288072712 461516953 597238787 570539977 189459770 492998929 356598734 776108197 971190616 625170671 879558992 478445939 850116918 438145259 877739907 182495212 702433143 662430580 984156090 850907562 148180122 321769460 594616393 779195247 162563917 179054425 770044026 742896966 408464101 178618140 372769082 524538344 411528485 721674069 617409371 589172372 674961312 440793477 423104284 192607743 287014773 246106147 236068063 845709577 362000923 278587605 491985270 117784277 410960758 317971687 973566943 354633644 329273932 229660444 339176565 520881005 163669348 725139815 171043750 344267111 940736360 881162304 502687478 957501060 385516829 497076908 860721671 116396497 399141734 407261087 511408297 980556891 992702449 724334088 142161453 135227446 354530474 961599613 940710874 422005522 118000438 754404455 444443478 961312027 470684770 283228919 388951123 941368843 922706691 364216518 928446875 496680904 389618146 214916319 199892019 568104612 934378004 272175492 651280031 115198299 108575608 353115972 967952094 761357867 917020689 678452447 510996056 156349458 722234507 592069226 871346529 482437606 883614182 882260080 306912391 413085534 715488825 207788095 512720103 723253891 920917601 606279319 334127293 157056037 601492205 914021312 424028495 652808647 315488323 720313688 160793764 445327880 670516369 415520719 464391732 163934902 286116918 579364431 683381976 753644661 219486098 410766213 877769148 813622211 742674117 613370787 983454141 413930169 123064115 641648432 988071450 884421316 939998521 311449139 928655968 342122286 881322345 251883932 498542065 471225068 544265192 620776434 380806237 122927642 367266245 464903438 723367636 524104856 691255473 423154499 835360158 435250139 399155847 751528795 487382741 463189003 953940753 317088398 335124157 614209616 587256287 828625373 288501095 967491187 399204799 698639119 275186846 193314149 836900643 297272653 197420589 761095938 153871882 352727170 124967824 637396117 431176425 476244329 732028134 489259867 243132913 540216060 209938011 385071625 158872669 456384774 149498497 827295155 960705700 143803996 560484708 416760159 977626777 836733365 779196083 179814875 561030534 907499301 699845606 361165622 434836991 205966967 849987621 151666511 607125290 109500550 329183068 630420709 264252591 881586355 327088523 346831171 262499908 818903445 351831428 720979251 709524030 715361852 453337265 237323039 891122219 790128843 546163921 823461705 905290674 867371108 743670078 348417201 377275036 837628365 315315914 734901816 937772740 827629662 154333796 563215613 347615198 378267470 491490271 723256342 154880983 980480412 251370803 193715356 783323735 393703051 896937889 865543922 427275674 418838560 583935189 358419764 461387804 861572652 764585093 270415881 912213779 524791555 710568471 377091803 723716371 902032286 945304323 849342251 963501584 533510707 381383595 280893231 825983924 947294220 276038802 795031969 437767662 120037233 895469716 133671576 241032478 877847665 774881378 553457099 438794015 818588487 634287761 312571520 996277628 358581569 349062517 243871924 288624736 578790225 357418541 561386393 721041712 421767918 690389052 916393834 208609619 180680175 746064215 415092290 332816103 629421988 577029175 217816442 193188759 863110036 908926034 140235195 586945512 311153871 220240342 750692900 824795504 831006676 506998725 632153502 363725934 698605384 827485986 123191995 191782110 680672141 692068119 194168480 948187487 484783771 153211111 114954663 727000827 205606232 303585100 727991018 291169279 981769120 940542992 772055350 191105384 352045740 671362634 756393196 618026548 458133653 432830088 906540643 644427616 644972755 353965352 412097455 612735800 479250151 641231093 895197679 846664376 876716120 476638640 213184558 228767005 123940933 203973692 286729157 119788060 810896580 481924541 472968159 555437286 755477231 914487960 321172316 586107401 183102884 264122342 905546720 964526554 486853781 247421879 344050607 707796253 208454687 262480334 703775319 452251333 226235175 979669464 360282323 997732391 367956188 768630083 494559568 666120829 513083663 426213009 336546676 282796562 432887172 115239521 187118939 452628529 594179562 128963611 129006688 909577227 437252075 305349317 116422077 779026244 847642808 443293986 133399966 972805498 416590462 821704613 327209875 397930293 394628615 826897630 924348510 257668278 691071943 195650003 434105138 121580342 296911928 298122051 317384998 202313379 549717056 703516715 557735178 180879968 746140448 980709051 199113820 599934628 917740921 942960296 582082183 247762642 772907013 757343802 245530191 311926070 369198663 950610336 544800131 643605898 723361693 790111480 311477629 910290716 136284271 753879117 178425697 427109094 965396634 579031989 383393712 178153569 125654903 656075177 949700815 889517175 460722821 219327098 356148072 349057251 892960755 893556119 243750168 815726259 291892094 959512999 700654220 896591987 816697128 331126091 468149850 474033040 986441985 195559153 491123741 611244920 928694608 748674437 378685489 881319524 294166467 710140528 564026555 658945057 773807412 441124497 287142209 786807998 307561244 367687239 140594950 591814858 434737800 199814623 848995097 205675381 220783090 886479370 708796583 281444824 389972799 301953959 109661256 238628284 812964910 283166436 852799676 278474834 118639427 717095335 424469198 607857569 949468787 763386669 222923232 747342194 119850436 177316384 580374776 206127058 805603347 407046702 811864326 304817791 479052534 788330444 889534963 155299524 237132339 376371420 622507555 791008572 728547231 591742184 481199507 600647605 437223946 645927294 547265954 244165420 267236485 197976701 206411821 150316325 538272480 384441576 106052490 266709424 318240456 905811335 811482922 645906521 750347422 540092756 211623774 695601809 716658791 271199206 390721722 159119074 942517672 579574865 443654221 443469329 846501127 905913290 196938690 450883281 881869148 810911043 152631368 174208534 227499619 850148528 781081279 231723726 277174159 899697663 338200583 486537741 907360191 260496826 453856290 101575197 147988633 176790027 435869811 943162748 714644526 511644569 843208520 834642430 248937143 539944149 741354561 311460381 854781415 811366403 611085424 718059858 838186178 277549819 952394883 695331080 454322294 577940920 359220717 665380045 782834763 742958766 655190491 949969749 241277080 599720258 562453011 751728914 181815218 358363680 922698544 573245790 631111395 236017228 273030119 343408576 207718165 794440464 795100536 672906805 256218966 547365842 949818032 161951321 967206954 846317812 522502774 881664982 508001436 225819530 656636055 596492939 480798009 438091412 313190319 109209475 900697592 878884830 991379718 842397553 567965426 382582681 953846921 230278937 734357828 192111054 744930606 803264333 204874589 866686880 215069864 626444097 908923072 367604084 941699238 376089323 134145930 867810378 207389682 976438359 301450790 247982394 696810190 635900303 869937732 558566278 353129623 431436705 349163008 354641250 489214934 195247616 198661024 932847750 231195413 860771467 421865094 518899585 227106339 927958373 331103234 335961215 945713672 461290557 993381097 307275882 606876506 226623623 138227091 242052749 440784810 133555896 692933099 575176790 340457144 573787245 683227439 682667714 332416835 186544722 357899306 253177146 397184499 381811283 861909557 773206305 345735331 328640430 298392975 215266971 876259552 937517108 254632447 781626642 482515447 613376475 503771011 873611579 226752825 690608680 525088035 487261102 852398121 974967876 134753360 386951099 127671707 931261594 763832459 937111353 371979268 576217341 164390627 350447780 288676258 182088113 976529165 821631735 235143218 785888663 689107395 102433577 653117278 231964602 376469912 601249079 812908010 994882782 180558331 966032831 250940198 678241438 175796919 162458057 620125348 492338271 527630700 714149522 235024814 344977682 707650022 546018369 355783438 690744162 627076004 311372275 803093343 616134755 595272816 647416025 932168450 899898061 603780528 340358986 460988019 710561320 973082387 385672947 608118825 330211972 637863327 820942655 325466200 921170235 699574599 739741943 605351049 336566259 667113434 535978082 429679958 597378461 983969548 162566313 554989722 603594876 304026236 372342528 667893055 500665801 150644778 668410006 527589734 377566028 813863743 255664864 889575565 266103765 430686948 826346910 537775730 995619606 468516733 360597503 378072110 767191359 100679889 885338573 109836933 309361465 894398128 172406490 928067963 485871761 433821422 952089264 843396529 928960755 201881677 281245157 730538786 972578927 785942909 580989930 404330307 784157355 519342733 615775460 437234978 714256075 378591551 908529613 615255321 817578589 593558650 684017410 159938199 486787433 988984347 864543938 223091177 355143154 386182313 202567541 665550415 962312093 234828590 744208892 875851680 424116174 209162671 229194433 166965298 981610429 633272231 886767731 446911373 265439808 316570769 712649149 165677550 989751026 330896666 641922236 819599576 189148480 537402774 824720928 375173177 353075245 223595338 628911760 278431025 402593169 217926645 908311790 887192048 222756638 731752439 457022014 179259282 569845465 915737316 421576207 876677669 444782855 625559456 840033407 155785864 514208077 327517188 555946698 576483522 747803561 269436689 724781045 627345504 571847966 508778731 841285877 347353624 212666279 989681775 821545581 244920256 580139268 447050886 644181221 232172894 691138366 580764663 834959258 163941872 897940541 198459843 837222580 107140421 520132267 183905741 408114858 611048612 639337761 656709500 239287009 770014022 930519812 769180891 562960004 512731546 798827395 465382001 402248673 107172374 541276731 658021024 100440494 428798216 911487456 406464384 884372619 240107695 795026959 511015126 765562216 846844389 967420766 151906359 211522090 714373743 998008838 931502573 826607493 131338247 155194662 103482389 249716060 327782216 440015730 598650646 543684474 521368287 306211267 202980312 185904767 729086473 332341183 724217996 664632308 680166015 532585219 656363242 251346495 447801661 156712322 635952954 859981467 146972466 125358188 861193282 790212285 336943467 524305489 790700541 665969326 158127102 915010924 624301936 812252425 495048899 647365976 495298064 711156183 917363245 880462092 660020456 276099121 342649197 985196565 622131962 446517294 921103628 259235792 499847852 150724193 701805138 931358869 844364419 141835670 159749227 309785478 606723820 310112217 695339062 516295287 967832037 616919410 978568427 987474385 885725178 850885861 163121578 205357474 852349617 347737316 937586989 776902934 319455125 236037375 636584083 825892925 897598358 827209699 248902767 678171626 784742385 595213511 702464612 282542005 385704763 962212319 328115751 201658294 305285632 926548911 145007056 117580854 792165714 960164287 687277766 892482406 936440346 362216014 992283794 806285489 215518165 225118176 351994693 794999332 306038832 835098297 399586966 582934290 683073837 513314478 573146348 215771711 209873133 113992855 304034267 514266644 458857885 617620009 860979684 458785206 406256411 415423263 710231753 360428704 527095286 597162847 155677116 532364787 372193204 323369405 220083472 762033754 595835856 204905875 554745233 224046242 555957641 469940187 404995401 624013293 467849893 422437955 877754465 324828574 635052063 677363102 367689339 923995175 209811783 740551893 946955069 269691420 645798818 746002939 359677171 107998212 319885644 100448186 380679028 814817655 822199179 945812068 650136356 584855392 658578919 513752977 352341307 592837523 979245525 865700889 487645393 361222044 127430964 859987989 541064369 707244993 252852430 948771102 149194577 129184369 577778882 152317507 138407712 925909005 288908832 136069876 317759243 932500310 721824002 452933358 793089873 893465566 450124384 223223432 325911626 572835155 972155252 585133079 320722130 671161559 755403365 627749335 739055126 412922877 883233748 678318525 218456183 588734715 742783643 442035479 466289485 775844702 163877780 122207410 291461630 506108938 487817669 780145041 710717742 598137013 460474528 294725041 504392586 353188751 212579690 417882907 342420680 641823150 459422577 776632482 565485499 343531229 348896915 682420995 217132970 900096357 832314701 942638627 683289938 912049166 703531439 245075241 845646224 559218823 878356647 269172202 998891600 907303933 481023939 361996575 987327656 860216680 267517230 585314649 262068330 231280618 819391188 965106108 462642113 754711563 283805831 355917086 668466171 906373057 566792326 720605368 643738898 861293630 317960501 663092124 623903180 158973390 461766315 799222640 475506128 738476649 372843450 322566553 922441870 368892751 973028961 627432696 234325972 502350271 373511107 994583306 559149427 992360178 426596981 908101794 536144563 404521194 208402553 575861031 243750949 553025146 314964661 749749401 818322127 625722247 995470239 367600709 413264366 273399608 322236348 604722301 258872876 522990607 127104789 447789210 933783282 989114311 414341154 117389573 645970244 536292837 272962840 450621063 845349709 227021017 652149514 473314918 201616119 164634750 925016966 519326701 688087210 194986813 245219122 173499666 931683731 139089657 634942968 575407813 807073536 231793521 561450056 629137273 825438440 769178079 215422016 824125998 592198417 578562011 778179494 540275338 584033516 114801958 711679554 413732397 614108932 823989229 889868915 741338246 776770822 295467520 386621918 965053680 321827293 368948721 784057827 649087897 466794355 357922935 609845767 193605349 614618262 950720843 209168041 650454802 140208114 450054496 815858589 986690513 979779777 389080943 269848426 845014850 714412122 519412971 856143983 939326110 863046639 744434553 316182977 444763922 322517754 266083811 991026534 116891731 947823062 870862440 668533049 192962423 643678287 529391654 795594308 579786443 686781473 448450744 509511911 878212824 870060028 644388061 714143342 806545314 690283412 571112371 107747804 798453852 281492503 237242714 441708631 393385059 242923602 978958120 271129736 259575325 769299062 759665071 642331848 382132859 826496179 905609929 464499702 260682231 934126746 594867314 617033515 146736235 307055672 274137753 323412477 770715961 554386693 466340566 326932903 278385895 716278206 245607122 643638942 149064554 742381323 972448403 497779627 522766455 131292458 885472079 832999833 969349067 265335195 402913540 383921966 955001018 162650733 858679756 600190380 335072592 901100351 236795444 416372996 408407097 326469159 574485334 465281373 916626576 591059125 847965387 546881852 790247047 522551984 980397839 779232911 138098847 855267346 374937854 971573569 882638357 993902250 468695858 226780827 238794202 193723237 464109991 550580513 910431694 746417623 641153263 636418941 550310429 363941043 680353669 696837546 734210286 358807227 856676851 351579351 676895422 959773154 211110828 197903252 523153609 547533190 831090390 570632239 864396954 161323612 223156634 256055896 781643868 566835080 179630856 807761920 787193922 694692878 122851105 265803946 433781218 490466319 204020136 286160496 796003797 788451054 506197917 110705980 292712963 690025442 242596047 681302381 635053380 790160904 450367003 424906446 185148984 995347934 581381440 324339479 456481527 866834053 191158593 994669975 306583113 709424637 954767597 450950491 519404899 777223132 409194604 436557355 728501911 636823362 266165093 802607635 556724777 643618790 637371762 215781579 938027469 750585491 486014734 225637343 701912295 309574417 561531535 179702736 178848273 513558029 497146627 340857507 344677211 814680841 257005446 761603399 451653580 982086372 135341854 672283466 486855882 521993217 514484024 392473458 915206250 708832849 963884978 751078346 712258810 615381446 666424527 218064476 864399479 937588902 443912254 369666356 251484817 663525073 446588632 534704164 959050945 705797759 358970904 957616489 475844087 964093329 765154006 858829341 112209614 339946580 801060215 716940791 382869189 473594664 279341036 512007218 421965700 598193496 783558753 972634937 758109817 108994677 178375306 465075082 991871046 824442196 650225518 473350744 143537886 117347102 547656390 273135659 349894822 852151273 948433820 775852036 414590419 904021087 561598694 360595514 216657780 352935104 206078340 426577406 142441069 127935173 595527871 770874530 182172321 149493061 461563746 890117853 820919720 924112924 675453392 869498710 968441327 815841882 875523660 526808960 625009845 226614695 353545256 842269267 466513559 329477082 809733047 703981065 958732335 644150810 578013625 466750534 166336467 845911349 563879339 908708456 292196759 903593663 902901984 746972931 460892284 995294304 687852458 491546022 355666750 631169820 325297891 425394345 937976472 384604006 293824010 360524579 314957275 784171959 657666317 628887564 396036449 826824814 514214810 251906014 121578293 532486345 284648275 286014650 186062181 554058006 156087640 769061685 788952615 221436895 740502503 166442608 726738210 718959175 148884989 533396167 333166911 722021209 828714344 882238422 295075126 670840457 514725519 683946706 302518795 352566537 576656032 660189948 708831084 724250846 260779188 852259019 943082296 558808699 470262575 133397925 163183425 277279469 535998300 744109680 112310524 552290883 719444422 841161049 379425245 102931549 557993412 882538918 216038382 509210897 118650321 560307862 550600634 883110664 442437508 841818065 350036507 144407178 769502750 763808529 273629057 171803540 792361643 871805106 922904328 826135961 539590726 989509986 817908428 706601868 828428524 467548162 592328894 502039116 116644397 577197392 895654130 758987485 581215220 587797338 751163635 458761035 995001269 781008867 886995429 503456333 400602191 239256675 794151145 725327336 508876216 820566032 781112231 510978241 547867963 170293012 952520128 650253665 995177659 437136802 789277417 467303502 136001485 859812034 728106330 383354444 654748499 163459901 331853133 840086422 296750888 272559540 912703066 870509591 851881003 810876822 586583427 915618050 832033983 444902851 718278376 404857040 448724441 119109579 348246788 318024643 829431782 826130783 630805825 710694485 135668562 526309384 139616246 696844523 111079794 847635283 824791810 743714002 436845912 468981831 686738635 988850930 476606007 690136011 212032919 731757795 681028742 724855849 959343197 788037823 739743222 215274637 615343637 547451072 227002016 923040484 199230150 662631608 104748659 580964183 316727434 533591072 999240416 343077660 648573236 318265679 536436879 512479631 727239058 414345225 491195162 480693422 861794542 523428635 496824825 677590452 469852115 736766225 234757452 379015069 373588029 403178747 816943786 518871367 465318579 498661850 582491009 757268813 275960799 275671843 802251663 729674449 801111010 310835482 145213993 492808649 746289149 317292275 104600843 409368204 793448236 599082177 769129463 696877623 356828269 428234485 773389111 195173262 702436517 857501224 212261910 358281138 693355633 650665033 574181243 863184131 191720637 654004577 981113424 568209109 908193548 803203409 692488891 762202183 256577629 805440536 982037875 947626951 688128920 900285389 267880706 335794416 151105666 187633713 692814796 408756561 641995467 797173326 431741132 380978102 954210328 439447337 716808101 543772396 724258392 513962310 570443540 344411765 386444704 279172201 780900490 172905147 564343089 517607414 940659699 411382068 980319853 227683054 368205558 487073560 635801041 551941224 476622864 973440994 135769134 290183072 159013696 656717461 162695188 863917598 524929369 579107395 731295591 601446921 395921173 676777224 786927747 855308968 122436508 446553257 284492172 156491539 550517897 880865344 749457835 686759710 907396822 430345136 252899557 385033365 765475070 360295084 732915015 144018313 860259309 178045417 102418003 916153320 826001937 157642372 201978093 382736568 567354146 529208455 656968934 393905936 142666667 121459748 663967520 414462738 933039525 596183884 962059676 734231421 108245806 173034363 750264524 864212030 455182502 352796573 998877053 147407396 433228846 486790287 916369046 852326310 229509403 309850970 204349081 788703532 419610502 241729495 939975684 152538748 342121701 138830305 282702549 982709700 278577311 107504807 552541223 307250255 752110664 555312344 475967114 257134955 443258614 784469924 170748705 301379864 905316129 624674720 106450304 881271828 136648873 436729293 913141402 807715705 413613619 352565366 546989256 383859313 905869872 169408092 328751608 508592274 520894239 429566779 992468128 601669739 735906476 455217012 325220958 666055207 591745596 190151955 384254911 569984416 553779231 850363641 149281287 296636207 316412303 425647115 365198696 505556990 215563626 680646810 127717117 940984682 698213166 417024238 564413674 815638453 781881811 243722495 363797170 509337513 433161037 562494944 149832526 275974982 819221582 227881723 321733322 141543875 203006585 751534692 334459224 362505391 588938571 803089716 165105831 243177284 979351967 631037794 493509485 288532213 555393391 756941395 715993999 601294899 389748124 962150617 558885982 146465090 632162971 924869343 745264403 152167916 715558520 725405601 728250971 823009474 890412075 735153892 802497408 146661466 539230284 686321728 153940892 566696404 334601900 192613350 248531035 127717154 721392888 190683986 937162956 622746491 929631110 306398495 638583442 981296911 756368934 102448565 150212103 729656020 380080730 344959265 311854928 384203619 844011038 523738978 178642954 423951950 741451309 630364014 872845160 986974514 529625384 212058535 893215672 121137667 607933089 147484753 707521429 350435377 653071903 334256432 964184940 569199059 895601840 750204027 564186450 748742715 126083584 657257557 485810468 938862616 382080786 638477974 424184727 600695969 416700518 806973835 975609297 492019619 164755294 866234907 740865840 418662268 928684840 672100419 620966488 315992764 115302903 789488601 529027004 522945377 364106717 241952024 702590574 226798459 790446665 393068600 783359015 700704358 733904373 393547128 925743640 213212173 495046845 801139768 943241135 391855811 330398554 998721756 176145182 556411347 713501479 630969436 865310035 415290621 905607882 986683457 173509446 259218758 756192444 693812326 384994172 795929851 209079916 533989761 167810759 480462758 201269720 622951324 152975534 407153262 135442622 546078069 619039477 605777599 189555980 592906888 692791052 155153588 684392613 682405694 408020242 108142412 728173008 966737477 623050643 195956642 571303209 583612723 466528230 796431769 178723749 169192849 277509880 302475567 797204992 528860287 589544770 433348799 472390078 616462226 478972210 266758222 368427331 496251763 977931123 554708014 828029976 444515082 360346468 764656147 414555605 515430419 139382745 161102337 812424537 143370287 397697448 450176812 966608448 208245841 402277590 764297146 514208383 409598846 182419214 503938244 377561456 503728662 550077860 702247654 265772752 134002240 173630404 319065921 888808408 369386025 567696892 249074770 778439577 804207953 938616101 109316096 251151994 495932775 211330985 872654040 956871969 342721580 166085872 796299874 153992324 857312554 140984014 661171017 635432550 754596038 495195743 980195755 692806191 856990379 388248519 218791895 792717897 506514693 815434684 544490236 447722847 531417089 840566532 289210401 185799106 878864737 145875523 641352066 195546712 470716868 343572158 822167481 599887569 476176367 113257648 154443963 689572928 630684462 336765568 949714496 725232088 192182269 255630850 156485229 985365114 921002067 794328433 799238611 304936957 775991723 565645613 147776403 527625403 533470666 113217505 796745946 869669522 576428177 537948792 265314039 331891171 977943847 242556439 275056452 158323778 506618677 242156895 970406730 540709662 841610458 483043296 693409326 540259185 590059624 651064723 716164782 295335840 230396450 297788545 971765437 745546977 623313164 692479948 966952679 495992576 979470755 489413269 995806971 299483181 131108454 581283337 497731579 301454493 328002178 386179305 138005420 340636262 333743303 716905686 624280318 457295275 107268226 773275208 659997814 705923475 313639676 356900041 303490133 530624670 335638785 399309340 233334148 106120342 483140535 641662815 218811021 185644595 635032843 785171626 307226536 279603804 751669490 980855442 971249870 669042574 664748887 809883413 279990127 777258320 756734078 981462471 429125891 851741167 479856744 609936159 463757422 562682942 392572004 445691402 580567653 745821476 607396494 283361049 787877837 294678578 577237519 234895980 109338648 863198136 407138984 804107770 998342408 756149537 895856904 550490622 487343864 407367299 775849841 380092943 186778194 129417461 996805433 665290999 159791504 507876062 115115593 341191358 901514630 151268997 765437515 145134821 452262667 171725615 765919966 952214780 127601804 904386903 113440098 119552958 176543706 214393576 406112605 902936364 227564536 952352564 101208497 756692954 689809183 124683840 486594923 836501010 794670176 536985631 552470279 904673771 197706730 753144092 905318814 364117308 789160587 111781653 507217841 868014224 917670895 136383858 951008959 634593083 348285393 936603041 381747227 901273177 824570459 132705984 819058317 418344239 254260005 695961904 587023448 564904972 277563996 573220348 244249058 105837722 760547171 619508550 523284129 943797142 580557601 198902278 360614153 564030335 941756799 158400281 981676400 354366582 689267821 730670981 877283174 478970518 120168064 428861217 349460816 826131526 486583739 461279352 779247113 184443572 823654243 696067253 525883351 304293563 511090689 315973841 851025983 395687245 923153112 623706546 522096791 904490502 192923996 731269554 616027653 823565971 108947710 400510988 391336312 177367934 940073652 928224618 820072507 684355908 560512380 946100706 458800929 497408167 185671696 132690393 397293658 915453271 728622437 325933631 531249517 277578345 896144556 997910104 196111330 655174258 183934025 301618544 703380302 996972531 613200069 817298346 277125043 429056702 699634534 668292842 895735563 271126632 684819212 125413434 493196143 328095630 872015636 910273836 972023454 200397439 420238768 148866262 289830929 854550965 141509154 350601199 453798165 107166616 812703985 508076257 340964344 241239784 178036331 920873078 651142807 441219514 287132658 275243871 617776636 469097051 788294652 300096180 830006110 545531701 737203752 552309623 759190630 993901358 562668073 367890891 553210938 798221100 198120867 387143912 447917310 648390330 420111064 662801522 800837985 610955344 867657181 115599126 205597694 364256959 900135720 156827348 402950019 531868841 467053979 699763494 813375618 636714340 669923754 886580293 996440981 943892949 536427281 899559794 982374317 814025238 200365708 803704280 956728421 522511338 163487203 220853746 951716182 180505558 818539993 260579688 112065601 890629136 782664946 327114512 488005076 480994927 133549753 307045216 957243698 254626666 984217476 268240699 229263761 897288626 826021507 457742320 407034358 156586763 163360977 920771961 916943741 379811826 128561558 272298227 789287694 376634417 302239123 285089878 231215271 855068371 997888959 122746016 646786038 938107371 358492217 610322450 834517185 576289298 751629437 354442563 809706718 663193047 222910076 988016650 431540690 704718523 736894347 156148121 930103705 615926034 366630632 808233616 527840967 989354871 874758364 967858978 675140947 187215072 373595237 626763803 558397732 560560792 344029298 137650981 839986239 608394651 753154831 237520913 693732039 850247102 772484259 605349440 626555144 744040476 606406268 272168502 561494532 211504169 198417123 697971912 218135984 649341384 576132035 784507065 997500911 140950258 127378045 413224626 172401762 175163055 615462826 740106343 399375975 583379028 670965798 137172694 207308676 828682951 101682905 664969764 487319840 606053016 682083979 467780987 861498701 177514650 560566047 557647781 692154453 272946274 263429075 608620477 243141815 204896238 283371146 945850910 734275573 439665415 596205537 540070140 476222238 164181349 408973737 964814840 281471257 467199759 199852042 700256232 355381613 561486054 392743093 257019854 684810377 274027305 313742957 339521892 833616665 860350490 758701597 651588679 134918410 269672182 413129043 933373669 621370341 373822913 317372835 386111976 493553255 381929389 348924509 505875250 197130503 364612640 623014398 449849995 643346671 593732736 278968211 782317290 544252841 271578676 375205189 827870332 708900605 332382816 542605075 777434963 806434344 514444966 199547125 312593444 512306888 735795906 180241963 506757682 902221306 128381288 669212371 447457696 330374109 887615188 795621676 800098737 780131691 574537147 397789477 657342008 643174122 816375155 709332849 889688335 646467638 681720509 883988401 570381047 130821775 410326349 969335047 656551891 294792666 564804976 314518909 393631996 933668154 895439251 941747477 599240235 581315126 990237663 912115465 519032434 526308295 592040266 866033088 869632352 592285147 364444810 623755133 597016884 447549089 300353174 880505018 388442528 555999448 344977446 302813484 456742465 758171214 631324184 633631111 128490677 618788551 809161567 129761273 791507042 328773397 540492705 679653068 874160746 293988776 935749487 103481245 956390552 232831836 727649710 896703457 216489078 554248507 162032445 627183527 527724888 718701044 868819396 229945136 392834935 301307222 640080564 905596030 252916185 734585914 162323548 358757739 886305347 622611270 852103330 654478356 308681966 530832890 732633831 260525906 658109153 916022253 697195505 330971578 114179135 583832883 890027455 817194804 820502536 883663592 706230785 870429467 562396838 604610769 816905622 849723945 354721849 816183138 174669830 301722785 141813362 339541100 656990711 347582519 797013590 554472089 387133730 955323705 443556005 614397589 422175554 917976209 259451160 608708732 535209199 458348505 773358289 760320967 640159200 224802683 751010295 539520413 926996348 735117235 657605781 320362343 543924765 271872607 341587184 759422026 229123432 139838299 379199462 493083962 209992591 589601706 812566577 726151190 489717104 387371387 753395198 324495411 589243157 385692148 103827493 804787683 224085084 937437678 408386583 187009405 839798482 970038597 535673393 297640686 390797602 742610123 318872686 182074937 473282043 977846198 358059410 679533323 856348181 952771849 693610495 530818069 817710666 912686306 730993474 563834126 106646886 665473738 341476212 709849525 713021712 341141442 345745079 874094748 847097508 588845356 514790754 602506161 886303521 662368190 971333920 900900271 334663559 808480910 941380932 404555484 211741786 945790835 338686668 490119698 117821603 145023386 564766287 726112918 869276063 369627387 282235136 715330811 612338123 403673860 983263815 348184469 487697473 811065036 301321784 573440175 382533170 395315535 181832751 265135943 148729530 100960617 491731465 642499904 226418657 610276627 327725103 423962501 857371859 339526929 388104643 922245387 324092912 401635794 883529823 544885453 518551440 945314024 461370564 914907027 903577810 511798978 400734752 426739682 642104460 904010211 940472991 763034674 516108909 500676418 391739918 547568367 171743082 991694718 162436858 631635169 546026591 273011012 375920704 138098112 257984743 601559590 259439788 545558095 621977914 175708259 110162244 129449305 186434064 732764297 186909373 567994897 532932051 217020303 470702588 675263348 954939612 183627155 687558729 500559159 440200984 652421559 552836603 905132909 801200098 375253346 269902007 119783416 161272720 986153294 521490777 848476471 962519604 101351308 544454883 668329394 100557242 722404631 145550178 357979618 323121663 455850251 438324724 405133256 650092826 332206346 423955725 275619112 468927768 908889817 910815730 205639509 704945137 180874909 399600060 195860514 483753744 535167202 675306238 161789916 611862414 176300710 904618545 996309306 357828010 295758433 398870651 767439481 587710458 253992364 127067367 310886477 179393530 121268424 115072023 442717132 779000135 799138151 259063833 600638367 668053350 397775939 795840170 190769278 901264686 460001431 519933636 178368070 161133105 496439143 674512952 352946430 701404144 445123860 766490761 623602117 773836410 914533660 255019839 382658632 720436427 750167227 797047487 564405629 273559688 137434652 295455248 829150893 586729995 104911502 957340247 531037863 299135732 226777359 330435904 824958736 645675022 638523249 924200685 459441235 976263686 147959905 885665030 341230172 708195902 784678571 985428372 861467655 126190282 263778696 439758445 967965363 428567485 943261061 641285133 134086561 218550679 191590708 848771882 650165871 891638564 932562551 447424362 902059218 828858030 652317523 855588688 667788925 194655649 993319874 853946313 742218563 299743183 403525774 852157672 713329063 251695344 677744600 842584724 369467266 433859713 776944026 508076353 521029398 919461709 134901250 959886316 379651200 469462124 871830459 625954873 522268742 204332070 456136625 284665673 881227931 392506862 785824465 304947980 183083020 329105277 456714202 359417324 455222894 476672555 373478320 270944360 386201474 909441987 385596283 380207913 723996432 869471281 852407463 231915375 440388276 490810267 258610476 901839812 836038882 186322372 779884353 472443810 963556425 152111626 131226130 676448082 787074829 331596540 407837433 726331144 557790199 481156962 435370011 836202024 574556213 101180693 973394136 199339859 807096541 450576581 134445666 985568468 452144510 795941399 670724855 840813449 979744460 944323388 177161067 976578216 240396741 324653241 563560399 239029780 580230383 927254061 565225217 655438147 906430512 477111561 340702179 301900135 849406055 527872896 618550191 543460719 873510762 246577960 664325762 374840142 740906919 988917486 318660679 672429012 142588793 989266982 664028914 326923871 891945167 879986258 586262152 414161727 925894874 537019438 327627298 321092632 974541853 194080407 805966317 631275506 552305411 117775935 914628689 292451570 127364995 665354776 691255298 837811015 114118751 771279683 581272858 878909207 676324875 995423993 936432286 986682180 749984237 311213464 106115519 181452508 244120885 926467144 633946209 882974980 590979233 849217413 620135309 345385366 623995243 437586141 210772254 377339857 721894792 965819873 419906237 459971093 588640382 723395149 441279229 856356784 890905047 381533624 952466567 859077203 838807483 248994502 282577841 193301880 755458365 736035114 291558565 370583851 741561798 701524735 707256725 345703846 639306910 178502286 815758161 764703254 440069339 711973899 675803347 578988056 936983000 861303795 517429774 997551551 287115285 474090511 115363959 487326941 684929723 682709911 336803034 864110374 935891313 366405664 465978771 792396028 886548017 854085538 637386210 932382783 378057831 125416774 514028108 207677405 143140591 189618444 556370647 893892242 704781354 504830725 831098786 269168296 812839611 285180253 619631332 889930842 654242769 789830812 749938862 751203069 818332401 441579618 360504099 276900843 256162567 865077329 789142531 839485407 663699196 444281262 175015653 870573277 878802839 384483386 250168741 922346118 867082642 422742478 733664298 323922680 703795690 879802364 532693919 698689395 892765240 912465130 785182047 967093733 574159915 476826178 498559093 623686120 554494905 661665171 137551323 801587659 659938211 116273866 664160382 776726588 974083714 148718548 759716622 535893149 848833298 585920435 987299328 913357177 215922550 928934055 550205220 755520037 600217806 774896404 228191618 751731568 251113586 973725277 111092055 144229981 886495461 145440036 888257349 522206152 386334666 251377361 170291992 771310469 676334747 443546981 256214670 359326573 534399721 834245826 101605243 148212277 468160940 409396080 734554345 999437286 321141199 654685837 591634945 320272189 465801623 576178537 377972748 735143490 846865014 978026037 269675034 496292710 285921141 534376651 137643061 993687505 769041309 710157403 775255259 467428177 688090912 906205337 287847169 789143392 436770286 266254784 482141100 732520913 295742789 536633162 840215450 440805829 303928493 705669244 871427583 681686201 888016122 895119152 355270258 759350845 197932239 710850405 923156618 821540684 182319966 755124465 454341557 696752059 499407705 325707136 452037365 267983180 205374267 350739476 249238239 910455599 273937293 871078537 516519915 600337336 947514821 462692024 807392832 607872131 148069402 790196983 256172280 827956093 294318682 199650233 944494299 690523071 406815855 678003105 259813209 772758531 271244379 795563914 167088310 963495146 892757878 615939765 311019145 768122581 825467784 925412931 450424583 219125562 693324070 253597183 225979285 419822065 201088229 633340122 481663554 525370432 463787321 638777490 142527471 289741764 843674668 562895101 799043798 572192471 762451243 312015776 315990791 129285043 308456432 443454210 477801656 590651152 971240402 362641587 284890598 707605867 807679501 808424945 210721333 446025357 124130648 507684872 778857985 974300164 832795186 251651543 379572844 320100581 485766215 385184111 944519864 274024159 870656821 544148127 168724761 891693353 205399532 132728569 461844595 136020625 754019833 174216795 103715042 844385623 234897871 399964292 604417287 176854231 996220758 255352862 367923619 370407031 839183616 936470392 712502546 342091461 121936212 624715799 536736995 622800506 413786663 329824023 979039577 486091173 747073370 469380115 190135779 514224251 109913082 168865520 107057219 968045203 392960230 790246477 929100335 255291011 291047700 525955000 329790974 802295220 299799159 880119121 175793223 344039059 551009399 682610289 278633036 630595551 463011800 496127113 478984011 554668665 884381910 723839271 578275235 270803207 360193319 489055329 796610527 613232376 775492543 963084798 410638782 405303521 700690652 957918913 168356626 618971800 834313940 695731878 439493296 884509667 784228498 379548280 398987749 925533173 346142891 550128851 352052876 836717411 156451042 830399362 746019203 790454748 109096210 193039740 982619511 878770392 541046954 693040109 277581286 202574473 761280270 964560380 326557308 537933618 280294445 505913838 353311908 863875859 103449812 539948241 754335495 144794567 803595992 975175415 362875213 795141630 572337871 352444380 927544262 732204705 228154159 872520260 283899218 769042610 605152989 757582562 610841687 798655785 102694237 867693664 367664379 776939265 934978034 280950700 698413322 692104937 124120561 426445205 985520230 612344127 845922004 975443977 498404033 330835573 173844437 804054081 551118236 315073313 451919074 166029443 651086498 591399979 530735439 196688443 331091000 245272993 347985585 860588392 160780425 517216822 172454952 968137333 709055553 720324657 171562587 957362103 836469042 981090067 578984554 974786972 459241217 862813863 226684300 156660419 265739683 451625055 283836044 775734897 474516405 886930352 164686136 499770533 811691281 270819011 939382115 330289303 254383460 113723228 748025509 620017916 301548531 857367463 502259041 956317612 700703134 279133614 808061800 695743545 748377665 429900293 242965398 398842757 411736385 559731189 213995786 775023798 657222663 676854705 577420614 122739777 786066277 584106158 146993261 442393062 981161923 852450038 405048414 543243130 798470289 532611895 550151592 884729867 108351605 366137690 993843190 596959060 256873272 736049150 521313672 939331654 286365708 884571154 303541581 815364821 883478472 362235606 540621909 822803208 771312197 976938365 597073314 453234040 749354846 733659364 544384854 146192910 458256574 534500579 746861118 575910592 985430113 205316005 331811627 747298418 914458581 361698017 921544266 852189680 669043536 692469373 760233946 624996201 226011181 270070718 308398654 703469032 910333429 189258388 395411613 588941252 886674931 156530523 412082958 958960780 204018691 319618670 967659004 835679648 685185260 115407231 240515139 186555196 950413735 509757265 476482259 486076141 442789529 337143343 376523673 711242881 168397788 766442969 909679554 699782771 255688459 904645284 482608765 389439367 913993447 261042713 741859062 926464827 310661966 795652217 721102384 785666123 729930465 250484887 889694428 568045902 120067999 113675676 499887429 624615202 448435196 975989612 424118556 853574085 804105792 861397354 880598437 457541636 750113152 981240017 221513675 364395375 911155137 221296142 685542641 830105405 276306304 363269820 232566114 517670608 712713257 894100663 186195167 792984711 804072520 296761172 880934227 831395757 140611906 884841242 633612288 739007474 942386951 671394165 787253255 449169885 889816019 437729434 585897412 937935885 393592357 238949646 737758616 412247636 190986167 846447417 245425436 418226544 676626787 756005202 576651238 494240618 670080128 873039723 386439325 557815719 346493922 226158477 795044345 116005777 394160280 932768023 761619454 882421380 924579654 777540536 737501020 919132648 189892865 851854806 831331728 488322456 939078643 138044559 912798008 200010307 590335001 847412100 836828446 921678192 774310092 972327497 530151511 359411521 555585891 672114312 510986123 374918903 433469091 368290180 290779100 126925299 809057442 861865831 946473816 510283459 876839274 755977168 410389711 530855583 122586880 261096586 250415048 242417908 850527465 148181235 126813674 589793808 833466692 238224284 244694971 163223546 370024235 381154570 612655552 126319663 274386012 210330299 861510963 807962685 194131298 820883835 496306252 122663511 583102760 815553716 567274148 397871246 749407531 194447508 437984751 929443245 479408101 720453729 345908629 805427354 809697199 173130896 264173349 154996761 248983265 763437231 614667639 795000804 985588435 746713808 696602459 120388938 467176254 725431437 146752093 683884923 922905078 448879040 616800126 582844777 743341224 530378270 154922465 374578971 738891653 388604199 527830610 907360350 827298716 343745533 208909557 822528187 119631924 520098112 664474185 413526177 172886812 597442988 483786666 106212999 764820949 660723053 321913880 783549929 294724403 446047231 928775980 818428063 898648241 139109548 693661916 952332686 284916602 376433373 855508446 944063235 346208247 453345684 229601579 248575913 834686380 299133928 434583198 110653226 751556390 468510190 744744953 463116010 974203999 911647806 648669817 678587447 340557524 595725122 253894156 661557086 746837344 856205992 536543778 436389683 614460603 921111358 773752503 213890648 164987918 168085478 411322056 732503766 303757085 253332964 452026732 554397589 535673402 506322672 918366087 754892507 827402234 798248399 724877117 657984990 397961424 967080168 962461613 514645311 274657844 616689014 592480273 734519097 887357357 375646754 771466142 220841281 304236394 627286417 358197930 458295225 715970176 462130839 446746499 864180960 279108241 457387016 639678174 302785993 870739299 942494455 814337725 398435355 282527312 727792206 870783589 110782950 731520703 932818510 243347012 683821855 561078659 516868622 907256651 589145377 951539246 964666059 790324556 948127559 921697007 538846834 887823424 104668773 579784554 629362190 624833521 446168147 624307560 149977785 290999073 369084272 133553654 251953192 553931993 793982577 189051971 273095643 965196245 826232471 922739676 631304018 637374733 581757998 134858250 610098826 794753996 335281379 229352086 672232777 723269243 739363390 631642384 401365811 203648297 234538097 764492162 518600077 691310677 144635368 684524449 490304902 229709796 209016073 653564367 311727409 888385100 425885638 740987402 465151826 950375788 984146929 766088917 757117751 174642989 377623117 224413595 577445857 587097990 658373646 150512740 461791439 655537940 521045543 649071494 552591865 473784200 448221780 427014584 902746597 969561575 673094455 751286985 587731995 803054510 615469800 655530953 573409631 958599799 462285087 405489975 698077662 395079106 708650506 204889109 638594123 543013954 307056174 854765881 998662001 116718531 890361345 810803789 587993931 151689068 702915758 444805622 915114410 564344842 236118637 415395741 657887421 632551197 990413026 321152027 529845431 132627586 375507312 770030850 402770495 867861653 563354166 576590783 163677853 710526214 197316344 764722773 295379795 556643114 133483577 648962195 893453840 366462650 313194639 942358322 777235870 616363953 647058483 153963691 129138628 824181213 726132712 338003701 790694600 175674463 537807263 144212378 492014518 214997885 293022285 206610950 477783670 194719440 710551878 954368036 310797586 677033872 362944812 665010820 177915471 943688783 262770537 422061353 401307829 768330155 130551948 587649937 473366328 362711305 750447270 852492374 397201655 993298461 787535655 494901400 266852096 538703864 597419971 883215796 548351274 520207231 351607346 634025590 342235022 638160189 587702208 224289038 237624013 484419837 986285815 306681021 278497856 467923064 701407578 201583358 392589716 826943106 913620839 213968840 858835279 295657959 354753069 282740382 631219845 799657376 175736693 625715059 443840700 613140751 994012328 657388845 760036725 484984294 708119248 540191316 482790978 282440687 321138334 573889743 314230584 717549097 479527288 115842167 764204216 353294345 594845529 657827253 194113387 979876524 848754809 908368401 824940117 294228922 331168815 784245316 469663726 688924665 871723382 322076624 783816547 925381200 263956754 798102589 693968406 631822796 298185357 595425393 630279751 470557410 326279119 641571067 598517551 767268091 787487865 277672130 416571190 691543199 306217150 994950049 538922567 272280671 720860821 482802068 218486051 157687790 291420282 187487683 800267455 830137296 946612994 770010588 183741003 379368322 327934987 169811095 338627889 312971374 320052810 910022882 687535684 927613805 907062757 980196847 452521032 950453677 228596845 774233594 176962466 399715642 980983353 573120527 448144673 297053502 806799363 600091910 738021899 685479119 356289983 996252014 489924211 326524493 106574881 532529577 351029375 929243817 244383920 693520021 595187061 397314682 144778313 369200257 348156283 592027697 845162619 222468181 423573446 162034748 297666256 222192264 417269562 669664730 145059425 136406515 261744754 905894455 406067205 527912714 643270660 520237486 669759379 405818196 708598210 174952483 448042684 575021683 684079939 612760589 752346823 598370260 335638161 326806352 835755150 155847791 310351504 373401301 928514091 438008771 642238985 850096222 666958556 438650150 362394144 663547292 157494479 388808586 697493988 243717959 633748566 629082669 599835665 795632250 989564968 651573527 364225371 411348719 275472283 333850998 114173590 409562412 729602498 695505677 900135336 397114831 171246583 614090025 151132642 567051111 351322067 463438252 640803346 827943758 698198382 400895972 176074378 930374755 730629870 167513771 685653261 918520352 820275393 443465530 691762508 758796887 582035386 472570485 921243224 960807434 870549084 145198259 933298102 240847485 329658059 781186405 379085658 157072533 258530768 191065929 971560423 836692054 426763425 326506758 398504437 996126142 446394772 403276086 819743896 990995572 921937245 480147491 516252236 183564929 995039337 943381742 211888963 986774941 172313767 719428218 819944559 390324765 844071857 656777061 948490875 731200899 372075196 751367131 291185570 608349438 743237379 726855475 714748376 441787313 364486003 402157524 824244769 388625904 681192098 504601286 196571948 532237014 983270148 227251286 600937325 483188386 845064638 555046036 936522938 431834710 364707789 869043133 860127772 434943331 989613001 270570067 910766263 499672678 317446429 170307675 365063014 957230183 743273951 236494027 554925406 456609140 127502388 497879683 742632204 461509470 635959234 730384170 675819651 177138879 323985720 540360474 870649897 968635442 448597792 793021995 907583703 493723884 843787504 846108606 396866361 821394164 980768829 143654087 581524591 959216897 111224436 454506131 969264979 425079314 427140538 839533851 125432518 772829394 674011042 358241216 254560668 803861389 492010164 509731622 436054408 322488299 962573986 251677620 615342572 373434786 357464078 887894917 437171323 650612339 185773028 150546015 474835760 471732763 472491884 679084672 332763126 339589982 241976163 623933116 276900145 279638144 693599326 626134645 788103455 308864337 766241186 190154027 908502179 241183205 430348184 710532957 780643299 469141181 230013785 484954455 802613990 426856027 497706452 804425696 265647412 229068582 221648906 193396345 493160351 944080013 134772751 751480458 965813038 652663943 983732255 398308534 806418080 807883357 499213305 886974456 933720188 943487160 600683993 744144706 635574603 602136378 257772191 112828542 566595608 518846453 389681287 840989703 558135656 106400278 711985181 698316874 319286164 632248034 509770024 233213570 609095151 967657044 112131311 539372007 730578132 383881233 128628726 395631052 956781871 241088593 985311113 780919602 380863572 686014162 371892998 682635780 153308136 497880678 271817652 427275804 775864901 627452854 789553112 620708106 476499497 152459667 695517761 287448120 940536543 601006606 191665063 347911452 411735684 610591052 227030238 766709995 243446088 550678536 125326750 733138165 539007620 928885622 753574608 707198098 501881792 365349137 475650386 972107635 636390913 719462245 107343130 887545615 458186617 560645790 314212449 816893517 407879968 542840121 671052480 798926270 609519134 342815220 238276330 978567317 678503931 704158510 343672732 609224777 724379839 114798701 855191474 819600411 569451395 353434781 968189563 480003662 509397397 216847076 732056848 125013656 695299370 174512635 275581478 214154731 990313872 776247304 527014200 467813575 952957754 973771300 534048035 611327109 858840808 251785996 228549060 508679242 172819188 663672588 165180746 813426067 147025906 458944002 710901407 182270704 206730832 811273370 459351301 885598438 209816974 346544401 173949131 498454758 695037894 927276235 718414097 490140051 334402069 607394670 217507275 319959112 473642359 813472822 133505525 421050523 242763633 220587280 429896630 442373076 723092536 277846808 140032075 613476808 371499309 114258259 809103389 914987238 320674268 101119994 724689158 522414271 283979755 198618071 578153965 407899127 735348571 186462114 848247851 260192059 764670772 497644628 617510982 102525886 955421870 478480892 127662377 603590048 227205399 975917359 887581522 889141223 444835003 165737151 873610478 578487743 510792581 949700540 958607163 682614295 125689532 574700979 594689147 335646921 584858601 109577829 536052961 672353681 602024770 302255259 171267352 837351066 515274002 401528295 238122497 292154844 169238356 178728501 217806453 437248669 590307339 324545382 379191257 169967715 740132274 850181856 535368991 435948523 430609908 597249089 214028237 263386215 699735393 726510932 623703599 589931271 590290542 341222582 507345061 252044804 824235545 601840485 236551572 482736054 577591579 745267832 386618986 220741455 437767279 172915492 561430111 720593889 876379960 519807061 686643052 186143157 415922705 129115418 392511744 747317172 468480923 240072469 541327442 442080226 759154580 338027065 756199562 184530932 473989701 741766717 463447044 192109906 593642111 541047228 923747759 443262892 735279495 940151291 847180061 968792839 436352003 637272401 499809054 821785964 252279463 666935024 376549524 564171566 323805757 486991876 370238878 786883048 449518691 645143888 588929598 308922765 105186455 419420862 275406419 998948558 485342734 145523738 781589698 102119216 737269268 256595611 157685317 260843202 638254437 187341105 757555657 350828067 551972298 102279592 630445818 380109122 669140799 553499824 441300855 984251582 364701785 967246496 406008081 136384074 309363648 502941979 587289475 274893998 179018602 344111240 225095640 920459057 150690056 734381991 949059726 579985908 387774685 617292336 285158593 812003928 162602927 658397659 621886109 674609399 795070000 383824457 445539769 879737111 502453391 897002823 282085536 370549748 564338323 603877320 638773207 643666812 211144157 555381825 322764977 434579448 261381098 309027669 143856511 651736425 355077520 780127649 382110063 234127245 840396476 103817976 417458811 746556225 115964667 964786754 289747711 805586023 984407289 607200096 465648823 705144305 494766437 888513963 537152588 357665202 628309024 218344172 549350238 268877960 252496587 339445377 453106956 131075377 529975791 598256518 761640272 118283561 180291121 833084830 893770265 333363978 823671377 392496811 954452084 443138878 673381193 908933158 110437018 937393267 702329994 740917553 773476129 484226114 972180476 842166010 297505732 711548099 657472212 770876774 788814510 376452027 706586349 174778750 690195254 874272267 589616220 761156812 946478955 896539334 480849732 865918489 883663631 406196140 747796799 627296890 579439289 955198098 161345823 514569476 795715721 826449491 871516681 458311139 141772850 859633946 593609917 426349223 892803606 617996493 259993632 329133711 112631409 946800111 901586744 671267961 464752530 148399547 404143953 474804024 271182667 162018954 834859748 349177250 120189489 633718623 417611531 817971754 719288767 549154612 456522005 783648128 804740092 719017646 809039394 613613185 224862329 519075673 398673425 902890272 824529739 602050238 729138366 913652130 557102490 703975416 405891314 554242858 403321375 574877232 112196613 449647064 296489955 812038940 970307472 992718623 997766392 899296125 294952851 362836488 546607099 461175115 587169571 714247119 651374006 817622444 339965725 267881512 777203680 986055200 801147762 160048774 567439785 656444764 998329759 720009760 800660566 400197643 230478047 735998184 490600446 488461833 396730858 938072165 998606477 313830050 187296898 847617934 871342326 525670038 835975047 796133462 410878108 169465260 501217942 596640621 763129126 959264721 883195201 214298209 448845594 624183660 702355438 814466404 605386528 940425252 951138442 997225378 572889764 535830772 497821033 678604146 183651389 327639218 268593305 590835856 288033215 484201438 568418250 304200520 281440809 957584165 622584040 811534606 718125119 466964951 753043156 642095884 726084552 866291593 155345332 823124870 182235090 958940964 210984657 931919305 652171714 422572301 932149952 925729522 103377517 272901145 201615321 894897494 921907047 178573429 467863780 312924081 517700563 759408444 646352199 743928354 365885246 709306423 876072264 592130846 151158815 437848322 852890129 426139559 956270118 743261757 267479146 122810052 739491580 726178306 848312918 836478610 451316367 585375047 951095315 421754223 974925930 989577981 807087389 500024119 600667808 408138893 203611770 480826560 629714585 505838714 233642998 567700542 225832922 139566825 778460438 212977816 455097939 637252591 299392957 675191576 871650945 358837621 405307588 175867010 449991600 397709860 867677545 118919251 912459644 475467220 172861595 222614623 324731701 966249711 814649635 568238819 511378132 556339588 929627226 949171895 292584289 704152404 870099820 462012354 271625256 237062668 600881173 121861267 133179833 724340392 103007909 572224823 440303411 917038169 367425911 610856622 417439988 805854306 522092652 294727662 722674466 355495495 426206301 884962925 508488642 558555951 682619878 584098498 890264133 529007533 756358450 511018113 553350006 967001855 935892363 187021486 146281929 919734325 766008136 884858974 948581824 122624022 137561495 464256096 158956948 711213029 173810969 160658472 779520874 156960253 469347786 190378899 574801806 825639194 517451576 268069161 192605244 151643564 456749960 698059370 776884198 904593846 779248183 551406170 876390045 666564813 373062408 659329737 827437174 613757828 640008140 338811241 499275204 171678719 608251607 127017873 110886023 824765363 406712633 790524142 872329511 500937376 764062193 702170072 574459848 729358534 683389915 229420122 883804470 635576309 456990045 893594014 852252265 843866709 281431793 265387975 449052134 929001927 385378048 479584709 484582956 486946559 356188539 336533418 575278475 533963839 395408357 770071578 498331830 897945867 109157725 870097354 284541663 414136688 206974772 684775660 978471118 995870891 594464047 785491612 512478461 213093971 787989453 490083801 114864254 594424248 796576095 355771203 103361106 494563896 331550337 534666091 196929120 337737185 124048288 613558806 176527514 823650775 623320948 742566749 282918463 853334932 804086584 539073901 800988367 972389861 479260869 424452832 668167211 203259690 206569584 981358091 347916434 566813329 921931318 127689106 278110783 139551095 728577021 605027216 635645398 356617117 667726874 580719208 547078093 235624912 154405248 240384725 482571913 344466127 393484202 196890079 431271380 264592878 848288848 918757235 223874550 633485237 779379127 488061327 959476409 711988323 456824516 737569376 229331459 253890004 626132402 418013289 228827780 715451708 800502871 709467394 417353588 790728859 443462975 138307745 233824881 367510063 172376881 257018323 477379217 485945679 488726449 640921522 334898471 510658466 102316006 666827248 634483780 941229124 574864086 267552419 278606080 538523346 932847664 245273229 731864323 874322496 578451688 167278347 591857933 545457701 928548717 341435045 440670167 540988127 826362612 112300282 915432632 344007442 807627994 151211913 650430075 760551329 421204779 130399678 470934078 146777313 625881413 402514090 199747644 119566612 386845100 348016571 579064374 413285706 737883029 322431233 466588339 216390013 852627669 420431664 818348659 135129480 479842511 694372873 430157805 683216745 192567980 268471567 241837230 753580137 144159790 272052220 730861662 135503434 163597838 395565469 506473049 896683898 292762427 624137138 470005186 101778984 122811166 304500335 817370051 673579052 108925439 736859446 640754268 420372691 315834299 352922852 305368570 573889638 542569337 274484905 835945689 975989195 615445246 190519373 148322010 672679026 112835802 858594860 213698936 747488714 981276722 590888172 394238946 547313611 229216630 598977790 994811984 630462968 486365446 837856901 255325441 240191890 915970794 862416842 852313519 740567447 635351683 780684609 450555884 934054226 531072751 958147576 157438051 854488834 778106311 577622332 752044498 662515947 821489005 778267738 678550540 608880155 434781406 641113690 133103615 204131781 623025527 995988626 613011840 822782826 853006280 521962144 843513519 715009212 856458059 128412067 604042976 817593713 644723210 253112111 987936072 973946056 733470512 914216794 942737789 561746316 772187400 919309433 216617929 560274920 218731388 914418130 908429663 673220898 467423513 953383950 888192711 844004670 265840399 558190388 964239399 446012302 450411686 467483238 832433707 283127588 780131950 314950487 730265300 809764156 659765425 414895493 887559875 435446067 447777899 275810919 306496547 472342652 457289233 506159761 159529144 619600301 233300765 670213349 409275666 795324040 446921337 936919065 930448701 318954220 808346117 568331910 905357930 624250940 678788530 731488056 273474760 811292521 542397535 763182337 540820601 708029754 337691609 307262786 144025730 449384826 220184260 737005397 385147028 575975566 868618469 578360757 787250086 306114487 999986366 301132811 342670516 549461284 423909419 625229581 625714414 656324286 407989100 480199704 254159046 279086468 633419533 661809176 658345474 831362605 688472359 822977705 143103440 708061085 135007337 480112045 600931927 750148239 948701887 676566834 955578803 941873125 938122422 449926690 838710375 478993459 495045992 940623550 271349675 713523229 694530144 472913296 161952438 589699769 367141644 941638537 127832689 158819636 585477008 184621094 409954708 957020982 737763013 527119999 936810476 970936671 991071368 447511031 879732758 632266488 850436253 822450537 600785434 186813068 805583837 601448232 696348334 655462511 193153594 223629929 478022969 371660996 221336660 831747394 717372108 356695170 280004154 635200200 958426812 140721662 861132232 955738301 954416033 428834565 647060707 654106489 917426023 187813871 976652012 762699009 602988117 441336106 291600988 496491142 668452563 751602716 304077748 688863402 858676750 131530397 491548455 436686476 571250550 527539699 161758588 461857158 878686549 554311033 599485828 398786401 178235765 128483425 422441224 304378007 248359273 188326137 207360938 467085379 477903769 374743127 401925338 918476542 648033801 413609424 573439065 702960636 223884582 515218395 350586014 272960628 695148376 112359168 384835397 311977569 570237358 763963896 123130835 412015095 106584639 154198304 821713530 415144724 762701713 477735101 851414781 491868617 128049807 780017391 667900463 742907289 484611102 719962535 192572773 737709686 214422412 108326010 976510162 297219969 120559506 675492326 583305796 216559748 784972633 653578043 409713705 786769455 500194778 892562570 220252485 228531452 911348708 773085476 840846208 631785286 811972869 453959915 104538146 329800019 487476084 155347877 329047319 458734386 473628723 912738491 809746073 798578553 431096728 555843008 206000778 782064296 714273869 873766373 122095269 210883721 727789797 688100432 745667108 498196170 427534244 494009980 228037934 814219945 286506215 198512624 257267414 358164431 320969306 493691629 155853147 492611954 841840814 923565238 451688564 230054219 997224951 728266911 434328987 306053732 271879497 197000134 676622680 828702537 324834734 985294936 669727417 393696191 911580888 465957915 760895250 481850163 569600797 905317294 754999628 689993048 942606404 602319365 460317781 903077196 485279013 663531368 741340387 483039537 673074556 939720296 803201903 798391921 670931312 663924269 909033918 250095626 520007452 643593626 278879565 599091880 330799998 679100231 244417679 406695171 885735215 164018290 446752748 437574520 314319658 589146614 856363762 481745786 740522566 239214499 536836937 317207444 245710758 815586156 315520109 876100432 362304928 748246389 198941037 216242431 871169666 901660296 446624565 247284022 422779716 878959470 957829734 867643578 604804295 714610455 412476562 302759467 674703533 963049356 357822223 805445579 891569485 150195801 667219294 558688839 129812515 881597363 474852549 725415561 980993380 998813685 760256038 348485689 972976841 893363494 705667434 519335176 137759640 803538458 163526560 233896985 925446665 289076822 409100117 962585219 531561479 139121705 406465389 735539468 405699149 893491647 478927289 633942837 991304417 248604326 922667199 651631137 423906549 629717415 918619176 966256730 823612295 815187086 920399680 313207740 824409096 458450569 349286606 449450277 929283244 413287258 551618597 632776032 356126646 252260093 587917260 933786627 485453056 858070043 247057258 934506461 661132855 316729206 599708319 945139912 712041979 810955977 103689923 235504285 836189715 832976849 158733699 200208154 730099764 513663378 297047143 216516787 827242564 817537071 335279371 336820708 236483440 380557069 100951916 250988841 714328408 461300020 506323907 173165571 300858604 952274847 646820911 103882608 868707381 959693835 752165409 510562189 577782570 734068183 165087871 521279057 376046850 744281500 465518832 473624639 825488266 954035972 858845623 462034485 719390141 373472748 512723147 560555146 206606778 350781995 836339911 893989662 423670711 110500722 226286129 783339394 517547100 260177657 813053907 499591623 820103271 275556132 809294627 473738422 239678459 431949927 763119380 978025246 203972617 258342933 788001400 743965300 890278270 618378926 730943746 696402360 435610811 447025796 298553356 787602485 871074381 716601102 262109803 537392236 425509526 501896925 655707358 987139577 818056568 774605292 922572806 331320091 859970273 539171146 416772541 141982238 911504723 282230415 174951172 360882855 180321309 549029871 539623783 721716948 548329265 434987192 615537745 117967964 309333718 324391838 309010787 202951000 607153865 957742594 659533651 553850659 934312671 358280283 699749315 368722136 574287969 312565585 141922663 611550092 492170108 398529720 717958565 371337091 825961800 266981212 330128496 320302014 737892696 981681016 618178770 447948743 501499593 241727337 308462526 354646071 390281120 145466350 383553598 683472424 575246861 166411146 894072869 347225656 657653108 968575207 563780109 852536548 840693539 950792281 732812351 926975373 931161221 302678590 596093804 154051285 779108779 513663320 787763051 225807178 431408066 742669241 542673801 557092644 693853826 438694147 435562202 621828845 881216641 860315998 585282703 273864377 246058209 896932727 860381801 371777699 690365355 886870129 748886486 863364411 296564192 948245538 511482660 180223067 329198098 955926246 516302881 167944578 433961185 794861907 451801924 739559198 955839344 629682230 633730389 221646780 587811464 833708705 138259181 331269015 705169090 889909833 493454963 915926305 358463198 575594907 485722098 375949823 813582223 321607806 887772689 351031638 766759101 944427013 242075348 974788612 763770720 781064045 492606925 754920849 656338750 968507158 292684189 862528542 300191601 156849352 524459097 514883847 725277824 536439224 420815842 664537070 409983606 868595567 832203465 194233594 228025830 569696289 328469349 150277087 303263115 663709777 105769979 748168943 186501609 107115967 655013348 489708225 173289896 976603940 248953169 555585969 383583636 176783281 425102679 274030964 840219743 727546496 337405639 397440166 649059680 744232856 205258479 136438496 790977330 870804372 733580694 864310442 587112910 586118842 349330363 800262577 111754957 925367509 295517273 400682960 581398250 198864081 784084794 964144429 952690776 893994648 867200166 285482289 611660509 323956000 193605894 717059335 784423795 750414083 278748338 497499888 551275715 277323913 819349542 952269781 402900942 167422716 996923960 488964790 219302084 368295383 944352516 349297263 601932936 442177591 148079177 468156087 437993604 265065291 132872127 196817802 828276788 225504517 620229329 325892024 421512752 910582579 394828440 768364955 955597102 567970589 281495171 995383202 224619011 442157162 922041559 548826622 600347489 993207729 798018671 440848755 233621827 305296228 373124852 987896988 679914233 149539533 149381486 381482006 962555416 166324703 200667643 537204604 540126385 995710109 637405958 288803764 671644142 556284293 186876061 723063152 991832012 345089335 809020405 549096974 734351652 200721942 996132683 685963681 132337598 617907758 513961030 917936506 207921828 779849996 256109584 226600005 522963503 421643926 380684065 589008786 936459267 582829121 919809405 927231051 628581795 628898819 545854836 143770550 940398908 427721193 799489815 214315453 635002141 336770610 967239665 671612063 568840979 776137977 379479561 263364463 853258288 714027142 675337499 440226241 652975502 341475055 210630410 960750989 198687874 919530727 657655704 675769476 194001455 840103858 844366981 191645205 698803114 725808733 881188202 388357984 334367772 565294211 772424801 159951704 410910995 396023062 380228518 783855690 357674303 980103804 474751858 109723382 598420416 452007243 864721392 809409393 584189899 703724360 241968751 192376596 286330322 872339939 391311567 188291810 684717748 441678156 959559301 268919612 771202377 798834157 143153239 758280156 550072612 182403571 704495594 426343551 825461960 647017928 798944215 574612430 886140469 877018359 443415311 331613258 810544503 207526649 581672273 662933249 556615025 224627792 823543382 437985661 813817315 459118957 950350227 292610572 269425723 522006397 571642950 975633916 317380791 246487268 688606902 766448950 213017638 532861465 791506085 614561992 850665362 909271116 877570509 642625452 765672506 872270808 146508227 855471642 393563332 735725654 386975820 984822962 471910148 708620304 997722680 940728741 453439748 376455024 911998267 778973897 912811841 677930957 594444670 831895891 329114249 175406883 220014675 758476409 623450209 950861018 247753680 302917474 881649855 409579197 930709752 411929354 632782177 949674056 297160320 842719252 150797207 301014974 276506082 281875864 649452431 472235537 857905619 162750778 620917118 342414256 345680707 441887827 250757433 426286727 890402469 201009414 624022248 141447883 129201383 360264923 834570615 537317242 652921499 757554754 816434212 192206434 912859069 302246301 163793429 321294775 481166308 423205406 505007491 107108920 408842692 255324872 221236968 438723061 565257872 766328683 674209802 400228794 901472253 955729437 220155585 841122918 314458769 188107931 486734834 292269701 576233424 107143505 614593573 223197680 134423969 149380548 406004644 448673416 178257473 688133342 534142017 867641436 313811219 943654063 814063343 795812134 152390188 263414572 337864982 511429737 701699616 338698424 814484593 716377385 197597866 540895812 116897939 670319665 371025366 571658368 888457096 738694067 606382013 570501413 538476748 517403557 287134627 771691969 499583869 294616480 155778224 348045149 264130927 375527555 930597152 212000393 806542275 504970816 899000167 801650142 275133290 910679461 322696317 180702504 499298872 593234889 289955746 799881742 730374888 810316996 536920020 518018453 533196245 585604056 806120074 294711645 269386847 894537729 587928819 159759190 248965156 344521327 814534890 659912857 639547732 333592092 209942675 567492186 573713248 129275994 900675785 914597462 945781446 744876343 455989811 364468330 496270911 236507720 966928794 179499054 948757603 643687994 455938055 849372145 168785216 352149017 550730619 886157930 651630702 219201687 646056644 719721858 519655495 137429631 486445758 690917363 122440950 647376836 898789153 598338346 918755457 921230935 875406691 250519598 529343393 564383940 634607655 534022452 773378700 632205494 749929572 110883950 880678295 259611027 324182308 128440102 474573984 460004279 713008414 337338277 127322889 508849875 614132849 308259494 817718171 775617971 712911630 252357605 266355298 429742031 550847160 905951866 621577023 602353549 571414754 812335518 622676373 552786695 714200513 462342207 982100260 334279365 622337668 939519242 196566937 632153488 955541544 881048679 871726919 423030416 240338378 498892486 228967412 205858236 355608743 131219587 269893947 876670538 101406633 524724885 581364782 316392663 165721545 779582143 380623397 936602586 836934305 779682633 671713940 928862696 349489154 881340479 690351829 506669489 397470713 616017654 169736114 385312157 526409328 424654866 849219555 505963445 747096564 484677931 544972510 829487398 292991910 935731104 609733081 167589920 267572197 215602997 386537751 637266313 762037410 501645342 225090770 636574762 129026011 963805162 487170172 572347840 698781906 647780197 322611991 849348294 370030264 268406595 916515194 788296430 699598731 441691271 459442088 295145820 640952578 638736923 906750739 719234861 155115227 799116558 150405606 419394011 749922176 165437446 839292149 910726046 910806218 453378689 993864788 548144062 737237020 314069655 196772923 722355785 527164587 927615325 465695464 398105421 983247102 157233603 841641647 250138195 867536670 432905201 176016411 783205892 719577033 211755638 238032588 181837534 985821135 949300420 901379002 635467842 339116893 566276976 882002126 494844866 122070521 960881396 479132783 676817136 238534931 340656251 107886430 414831547 549799730 545981504 437970414 133492028 896250961 470359624 170984834 693919004 224648966 772474164 333491430 750580555 471331537 907828583 338036919 821005704 905225725 792502952 552119614 980678886 510144078 268269015 728813427 998974929 127870919 621249191 625902214 329733245 858197752 916113553 439641159 527091558 615711912 537411146 399438718 680677779 520193846 264069412 432615177 523938218 368292170 224115146 953062489 990528439 770773589 263994007 158325807 338682288 466451901 696041973 593076802 306581882 789199544 627494393 103287657 636656006 654995214 214965675 666273709 697074687 811927938 999529785 129648234 107866870 780180163 411747930 870077812 254826669 403472417 799750491 287249744 144131488 215329927 928774045 201294455 703849320 158489492 761420009 247991505 618279877 622275576 286933512 871743646 506523402 164911575 103599929 937184449 509222011 107917938 329659166 430227484 780924834 176835197 158667393 264649390 517636227 241604903 389990003 133785171 589947715 644965944 906713775 939867086 417451674 182108247 909943294 914915933 879329169 932669614 113004516 307204475 542617500 362553723 760682840 231216386 655495905 579658914 446692257 272904187 315693286 223275413 224068324 362043742 563759132 585501640 258079524 707389661 734608793 152682121 736078583 579605519 186648452 625001961 570823641 596142082 712582223 600305632 500410411 170156139 182601125 153001774 695141116 523958947 934141481 569181136 632213055 870462120 857177738 626423248 687282680 636280921 163547511 531571368 756859144 748564904 246364985 702346683 642839680 870605488 883789251 134761789 557162792 621122828 353805570 749993040 487979367 701602007 423405815 372847871 311520939 554036059 650962441 373333900 497335556 507418060 965451813 606644713 182262767 171987094 711705257 670752349 587503147 989424232 759961062 874045354 856349519 141751779 532157114 696036843 210080169 509871010 709310957 820044020 249283833 925720748 368285182 387232591 294209425 932187274 241330178 970353569 194529208 517305150 222946018 632370650 618670560 677364194 808485366 390176984 185806166 842799298 270023724 758880532 485307831 696478574 838126936 775546853 781146501 367640689 439485002 997998003 340294341 949115816 299194568 216336631 868546641 809537308 154596933 488674566 222705732 339166437 366548052 184393909 850472347 364859750 402492203 908046286 439930842 845637630 903156575 793686714 994128547 356349153 482254826 576822114 594536297 267225469 912818258 963404540 608100344 914396910 871675853 627153137 175110300 909847882 851445929 525567655 685766397 548872692 655505422 903220742 821851680 278855543 195533184 292117919 243848983 895061560 359050309 881855204 988669117 675695401 563524454 806743943 826016578 767979160 804851837 917880807 411885265 975170775 779164977 455049113 483602580 965986444 231620229 677904597 652522781 980163843 767093915 682653129 810721797 676346504 696935576 891161241 782786358 358735689 763322272 583146129 990461068 875407321 685991468 828902660 631489375 256739055 597209274 399072943 365380842 772312119 111737319 435884738 527862926 105353857 282212431 808980172 360387249 345760816 608115699 555286656 520245223 945873289 199610807 426238047 207266126 950043022 618250345 824495039 333471602 542358232 433289150 345152395 913255595 579569111 104917136 512082146 245670131 658213367 466193131 463963663 634970293 672580672 769959993 893291243 912804142 986806765 761818153 910110856 361648907 409418280 666015156 334330934 953942163 828863882 416129870 836837921 473012374 730263860 767801224 378485130 593697962 266745995 992131510 856254836 634096070 859134380 931859170 147311976 610721474 671736993 896620101 794409492 953661069 634562204 658719148 487356982 903387448 372560496 639586747 589712742 590302631 207516890 646565531 678918259 244592041 210914765 390680198 118470869 867641089 863843412 560747173 597853143 989731460 708139871 832334177 400444503 149385671 202777923 465287649 748865478 948188028 363699824 490650131 195873554 508691045 328367160 250780456 608657555 486748898 948420529 140980835 738301712 460528092 191255640 365243847 753848857 280664909 870859116 985984017 662688963 316546469 929458071 752473451 215875734 245751085 190160338 925822441 442123675 909018777 562258654 691846390 541902801 575222535 182314084 750254254 624066170 315603679 438980927 229122702 501760343 137398215 266476154 728752876 589904999 342707413 583949890 833052487 611497115 664578414 966135029 733450148 836068744 617910320 775821572 469667606 866322470 760512083 720084047 571124317 677212383 772599526 864296348 199973198 643855801 561864631 911314749 367036280 512459873 118400622 273127960 214196353 470662518 812124285 979865276 643607549 607405823 136056634 804188823 168350307 327188585 354541785 349091009 739830073 103155171 817631793 807327941 681836949 461841663 144526705 795004477 195740223 840260640 584563195 807098392 377848165 247866658 948559732 153049654 787814214 292591060 484786582 402010770 647520035 189441572 878048442 637878801 536907343 175772790 359683675 131928758 200672102 724215054 816689671 864361212 636566252 268208878 585756195 863711066 518766310 768291609 186213201 137005466 676140852 111740484 368001406 981575715 948724143 237921823 798333044 260846526 822294588 650291362 314009667 802299947 567087485 838338473 583092659 999015220 872553170 656759391 390340242 618830679 860051197 479741524 835527313 117498872 329464378 625691341 109678832 766152208 880063628 229246523 461634826 663267182 277366652 113890241 121815697 127158977 228962765 216481952 306243889 499971403 558254724 192486230 799631808 791462752 793619052 925998133 640218358 336976137 494990969 944526742 212769227 911714194 380112670 923832025 929211402 366969439 475206090 484913158 563917093 679086928 990601178 775628800 887828900 989419372 209080393 235482371 912264535 745227273 587802246 807926411 984133649 290886806 302589311 810360379 728406751 161065402 559471718 609306750 220026277 300217785 195791308 564534403 587303466 637382109 266439397 148111101 750755563 801270024 615097371 168989575 615757392 926520617 387929472 799815801 636752801 519850232 327560004 239312532 616236988 862711544 296054203 687807230 306035276 844220898 351126219 512129958 623645877 708172034 123983777 957517965 187323220 699717084 260322592 830365679 258748908 691849016 457025918 186936986 718758740 554184727 889187909 453860658 248530317 284004234 406434850 326113517 166580828 187114351 147559816 309797930 388362436 287785804 830062777 357200426 578648850 741255457 528847350 587311075 341441168 329488372 570941425 417733972 995201831 796441208 627019758 267754545 953076566 475664498 811977869 669079278 146528734 518757064 322347435 635049710 302137134 205464153 729075519 722093162 379087843 664650600 985390808 688761266 724863967 867612124 641734846 230074268 352625189 632042062 858601393 676721774 800035971 646624920 635236041 640349410 118952305 666605140 118510469 304361719 369583536 776108154 624364997 509406416 993390324 152030977 451205018 739142227 125318626 368259504 300632327 363206400 659010695 217081212 951000407 337777808 543765358 666917200 532652286 151078243 628719250 927956338 137379353 669324488 700485271 887797534 616908796 299964318 993579823 796174784 139665585 496179268 727607263 978075502 709094870 689557057 498015780 988297036 344251801 517708698 589914993 468990037 927116874 933707129 357044303 599034118 382566704 243358830 518997115 464519106 843506801 537544884 927188069 995507659 892584213 489604347 814939056 761139502 283470124 902177095 546092237 707719587 156397413 501759661 464544994 828896676 113039657 349278148 345656839 827532754 412955938 518073005 269500784 167827236 796333182 865277430 464880934 875872506 217621710 374570745 538471769 302810691 754101948 916306505 687332050 510111625 625732521 153800551 682865292 799970602 400943811 964585188 341979856 350232347 995988368 265604196 189080652 156533240 458166568 602397326 217399072 605211154 862510481 719874578 419419421 506354374 961461442 696485129 551287887 661775251 712896832 660399970 829227566 921892964 361996319 969904016 519516590 340660076 250970902 352978207 693951169 723765569 541246610 839878733 697721702 131840263 988758905 940064112 982757103 365418860 727604153 111062011 601108843 507528645 220701456 741514640 795851348 148444308 420909131 454802767 307299916 466356261 495342725 338032880 191964231 871451846 399981383 880814045 681029728 278856257 944913424 585199225 801702396 820930310 571768100 139480597 843942803 553816060 935822248 601679777 935727208 598847419 835560304 247455076 817103526 514049181 594514198 864652104 197066773 276766143 991003613 756775717 223384315 565318836 195870349 908088993 251654983 982498205 647199102 729985696 190497116 209789771 439414832 119289042 893624004 317180761 432105156 145372047 711931191 817676599 194467308 531617585 886309578 395278266 883497083 116881129 867880231 931959922 971083358 968989333 314968283 869340883 601767098 871811681 362174568 952933445 137600623 161667009 894083148 936605256 260614836 742547569 839040697 235512802 955206731 129662550 289272626 269587077 437636873 366683558 645265547 294871855 782444419 788194658 582352063 480571181 168830487 832678951 991227761 613102948 100665335 208297679 838459586 334408398 728521863 647162954 803438324 920002989 775840752 251779201 855235937 796938029 505539567 844979774 877529278 519625800 613975918 713970709 481344115 941886558 362394804 890302245 322763713 601309597 152080279 311376216 229273527 999477474 469821631 349345761 296436601 115772148 456500902 774296436 184785227 961792106 122167932 387639767 491996911 431953017 566929278 750665762 965528804 871731828 491309780 746399325 128939764 190273978 211536012 939194450 115595831 251232607 826813528 995200165 351082573 293033630 875159093 909572692 939837396 765612434 142587075 960335007 963952441 825575093 390246401 367995065 264915869 900782125 729520318 300695958 897065205 950190008 559365217 727841282 352019150 497550145 339039501 408928915 979061059 177045264 831906636 334853986 939998837 256327598 282502247 293702557 864880706 604693786 320168858 134766564 171302286 997252906 759493076 849033272 161383262 201405548 602727513 476768917 842429226 359172010 849952810 192819829 196602651 371831266 537838977 437954770 197002576 357119344 593339193 851113994 520254093 611212278 536309394 509632692 920714863 367740307 218224832 201724325 468542792 607994362 429395279 143697038 410496582 854489800 997303054 898148010 498961556 564108260 675309974 906166022 494965696 916442941 584451564 163467004 346691133 898735278 429110210 592323512 875051287 346662721 762427073 834115907 549566128 183963675 286963086 944613845 149784277 992224300 898551313 296239468 733687243 169191874 416747786 790363201 457089163 513009147 283259568 645744596 671163849 843177698 292981289 627512787 345290737 904149506 393361961 240233058 968640504 928384416 990230045 790186107 404676265 496390210 899302360 870987401 262790439 525689572 477965365 969992237 980507660 572505390 165531445 350638005 762224004 571488808 277804214 828018750 777641998 259780387 810396197 160131327 154812261 237981092 311399299 804715520 649017109 146268291 224585124 447550774 464486551 563249014 476435464 690962567 715212538 472057832 579086398 768674459 194144335 476279151 247021680 862517903 487838531 930020629 756865977 894949924 189621118 743815026 113149770 227564931 800148855 614886311 535947434 149776375 341354864 366735389 333055493 461969523 132700797 177190320 518520520 263994456 189724650 546615068 389037804 147508202 118207918 752341726 412670352 579931155 117639745 827553106 421873960 913344868 801010414 504356367 484694855 242616581 878230849 795664614 105947261 905534534 876950755 679539289 754774889 681208973 455923789 256823461 436340104 309834381 742781499 991309317 785962814 258780078 176218114 666888157 595268243 841143907 470478117 323840359 601647305 712747548 948777756 388877942 791318991 601414402 101536212 363790139 329708013 950786721 170157092 217959228 424696342 479714636 398302448 261840858 141591660 211068050 719085603 451885374 282727397 282674748 220908350 420026248 314945837 937801633 412242744 694623702 529247898 167614813 900129051 536738331 206216679 129559775 127367759 512222106 922543910 995052830 234978200 612953082 152507520 548190930 998434145 570589718 179470343 386239464 161523132 934414476 266651056 134925908 266248821 142468334 704753368 409725239 935404603 204123456 936573175 534487491 551876448 443016412 502593623 654267943 935109221 631207400 184192483 402798046 261385017 444152052 167822440 896261591 518187088 703399250 708674926 514842263 148003310 625918821 821222206 559650447 400010458 927214335 892604535 580277743 521857386 143647929 282555887 507164779 396128789 516135629 454470131 683655323 672158443 261914358 434004969 732115284 593177340 942294300 199618299 964872711 897446200 482331814 707839657 978369748 336700128 148578939 449242266 166894515 980465260 607098764 299922668 365912919 183413225 761197131 350654978 242922218 693562574 448940263 938087670 201886263 380978750 227341822 400798824 639532855 869658934 572695981 292820748 155289638 541476691 213125004 384660878 997848154 615442927 800731511 422333528 581100020 931499943 858091646 789639303 912659198 243903838 975765275 891407428 691339045 890836701 628687781 770365414 568683016 880165533 278453178 311628983 647254553 302559789 237447338 663808786 285290639 282436788 891377347 439497140 199096971 784224554 673104476 931924438 850854923 189678127 745662350 112839958 619128103 860357939 409221738 929569137 928224117 266239606 727715829 366783300 117867037 363343248 181307919 234478889 647626376 594882379 393262954 764164674 947979203 184810493 559051554 746229735 455646629 113674122 982893765 449759651 710494225 666378388 179737788 192398954 402222400 492838762 909078658 125662267 660947516 380286664 503323106 984348799 308787046 403413959 841445054 839755618 810459551 118245044 260740757 314585625 730185884 886007179 938183421 427907609 273594262 740839387 939919404 910198504 320509170 986207908 377971769 291135909 437862458 895074325 118163266 700348392 268028069 828038994 264525154 647174496 886930277 203124283 124534897 135806834 704317412 886245730 709877668 156990956 307076771 758965358 822714272 907291959 534998241 745904642 658420845 267588310 248451443 877091971 236280730 771329661 286248186 180536449 978563553 432735728 924977167 517780401 868209215 456887097 256442954 280464976 514449713 236030577 947334685 655855244 152728526 977896310 581027429 601566082 716068275 772608915 814238861 341659198 937497752 536936727 214628903 819229996 576845776 213978904 550029736 341340523 704833451 858391162 759135275 781563769 202260175 212544210 741130820 158007455 989931998 984338055 335570337 382790255 855243819 602543796 184311310 286593896 710678083 654495110 426388656 219670509 671070078 923374666 141190359 842812076 147257208 287553227 820768496 141014877 995899209 973930459 611371680 857074831 276769142 302691664 163713866 342595350 923027018 158370299 259179335 544238338 342202413 758656463 200234291 743513740 469123474 238240930 267779091 380713856 503273957 353067841 361755939 919645039 400525818 625322416 207429407 455330670 917327914 478421203 833903767 299143929 642766809 376340031 754693995 191694877 930094271 293549199 147326718 602989340 720577637 245900184 578353713 558081909 366387038 813012016 232408004 546124168 994174938 529744436 799678171 176547633 452349642 838159658 512504401 127709371 214733589 915997194 251736038 211196613 661749532 598306998 546366648 561549547 570459358 783390562 898784508 520272103 554693415 564125670 420895104 366147347 529694743 805273962 853082486 560447736 102933752 521365290 861866543 931694811 864384013 272402745 190457061 790002024 724250543 859053222 140434827 644821284 607581394 989438616 601717921 251944722 217047175 841956433 544333145 619383371 176997710 547309575 107782965 977540902 662633981 526737262 120529603 798137881 322177986 353149774 221562298 757552729 449440651 585749335 523062358 250752704 332287064 156254382 248254793 953143092 618119222 952617387 669719338 499768491 726263545 310504612 315313096 369546254 924373524 168295942 185013960 705248681 740619129 833675341 224567229 301080154 481945779 392116033 219969780 463047794 762300709 798931069 843919546 356189025 737428789 989300419 864248414 876141665 114105077 579685699 118579727 456287369 602049724 397084257 383252088 548478150 207821873 863850258 479905230 931942164 689671648 151297344 193025279 700694032 856814888 972693977 234183323 714703533 686230843 485216229 102609788 745666197 892687382 732639425 171491505 137418362 131775826 902844721 932271749 728103964 945722278 802067389 453288804 507067072 393962427 153302816 799370923 375157627 577478995 759289145 966169963 109931300 383669772 462239454 959711081 458375293 117351083 886812076 690719022 934832687 247455106 535105348 141086768 233332839 468813785 803223750 964031424 642108271 905210586 204978308 340986035 339094446 315000253 144969119 849540126 447385193 532261097 956499457 227497513 507527845 647672356 204832690 415922183 600425473 419143076 451495341 962299780 303314019 192950020 498977635 451640711 516657731 969765208 441923267 195573067 125425255 574354472 678891882 481874997 357446381 289320968 649594724 819613637 409884177 714724716 613075271 815640858 727928243 503626136 850121217 855750151 916384662 979534528 545002278 662312807 930452292 863252069 998319499 880702348 878321672 858907451 145082491 362781287 563641783 510083062 185701587 694190358 129202209 708010883 400283677 273675433 291962306 938911034 409127646 795906883 151866051 394978401 420535675 324748535 632154895 756687822 219858836 960840620 845957778 703959445 847387300 695167538 128459129 944274404 696465248 107429264 599137884 341342435 374158680 127978039 888752145 385656052 954263645 970460469 211131896 166284876 964386759 225930591 389206344 597380808 182035377 226657482 757530328 743252225 364209295 667899027 107371093 688732160 223659840 806101802 703756098 563777588 206930897 888494540 285299782 803101860 907103260 620097836 992067461 150125488 385158696 149869238 113550022 715885509 749666173 259167018 215942711 848159486 205250836 685220762 771749386 309553718 167065484 240524077 491617423 538819032 818294185 327112448 859248673 446931023 845854993 951035153 676654234 491007744 437071820 564720135 763145071 938753929 256405737 554218824 203851697 234844457 808223573 437515495 816601777 370587460 569979209 911774060 480821126 621571761 103892724 613594240 417631800 653307343 117236218 778679128 882450523 799472523 441220740 962170186 617026357 284125521 337264233 888120081 126873643 921490965 562762188 925327828 319239687 848185357 567607867 867916538 279539616 985158728 630195165 633999580 292234904 847122127 264951779 669779196 430401983 564148219 237988676 936318056 397052444 791559446 880773557 503887402 969373380 261413948 172659341 405331537 874148487 356126491 311208821 739918312 262325865 809372132 245834736 963841697 233840568 506723922 468208525 983693488 403381261 185662037 125485084 640348468 884300066 826818740 134092490 258798825 263048315 583934409 134795599 158104940 744134242 577909456 827928225 705475012 487470828 598172469 141516668 509849929 192247790 463125981 559556793 809080044 598190419 295990652 792669817 608908517 314569142 715665199 850748083 733047076 689518868 721995624 773899251 784220555 970816839 893092934 457521066 175118032 193890528 102392884 602613909 663668318 769929547 122996401 774536422 550293592 698284442 446611952 255632447 860513910 857608469 726140669 199887914 778524792 297688528 184028293 779535207 848549132 803769973 189222944 686244382 914856902 798442853 710098603 952248730 220565516 714036427 564708869 856819134 628246183 484920706 908083541 189944006 441637006 199782487 260981778 617699706 530705516 453299143 333539062 873344241 460523674 959636019 509395576 433424833 157617395 497284369 321570054 645182415 568557266 142251933 130086553 138750943 451269424 493557086 965190798 508082461 673147124 292005816 483251487 975105779 100302419 587305557 341562943 599473331 175017361 495574019 977924010 603913858 986454894 725385092 505639703 264467844 238623374 886478928 157608885 305394791 838911217 128852485 165360871 758449013 711253625 990165590 386479960 516499077 137122919 378214605 420930263 328789582 508138212 212952627 640907026 628648636 721522028 297370490 356851889 366260598 438419905 978712380 931342921 165197661 846517012 608338987 403382338 119468724 960315455 960759648 187353679 679960265 126094667 604545307 316396129 782936882 161179933 273645397 631648741 207313159 802865705 801883744 398324059 286238972 182577554 559669203 123466623 222894643 399795083 549311721 964072218 637596964 681111077 778466899 217752798 489876794 583443775 494069224 188953581 884076311 741228236 970973635 517031854 221537243 232996935 638234329 988659964 639509776 161590521 858491346 791448996 643747806 210101196 282811955 405580666 710188043 674150356 612760323 582198657 706458814 530298704 546044227 132800058 205446990 669229473 850929325 115910513 212969334 452934956 628322711 424091157 856488653 925756309 508323392 309011835 900747835 834796689 640792450 526863135 556322332 842408877 720395307 610216218 616371462 930330493 240181204 172518028 934823650 651776810 509022354 886191528 716248177 769603851 560776712 323013208 948703159 908749857 999152229 973653682 694380047 293926903 441373100 230216595 232401538 742313807 860510865 233628899 323033781 815874993 596168717 529814893 568924279 896008670 777912118 265256911 690854677 421192323 459034317 333316991 403569690 358097364 701122477 912078640 650755659 292979638 493472004 680379808 788135365 970223595 700651219 939182021 480192700 853791901 736698367 496015555 440196626 816854368 161014578 909044694 240368005 126782959 240469467 803838700 591146519 244328917 740653739 862087981 618975505 962943114 366244848 486541785 546649991 729662135 706261826 213003843 605944334 948718699 640224913 566379999 169732820 918776228 289083552 809912028 431263501 286525519 795679771 139571367 896484865 218785210 647204188 849423205 186103394 522854969 619005303 762083619 617583018 453813599 460811777 311798026 547122265 923428958 979098120 998850021 925852803 174356023 185259314 628127847 314415406 243359555 715219899 307851330 728139574 993104630 556237395 734288317 846108475 579847331 787236001 408634456 555190206 374935994 772010970 265532173 810367988 587050422 951377179 471804267 855695114 801701104 482554201 708434099 410621417 432549157 321217984 988974152 640289091 779621362 748575420 584167588 939029943 136722550 536409616 909734088 661510389 923408319 170141959 582348523 923245962 400683491 343428944 710459289 762743618 911920091 520954968 714919920 617568785 744883323 392453016 949742555 183725268 204958901 999306809 217154637 836481387 148053921 191727594 930705249 143715294 446068547 788100781 665367221 843897127 598039032 963019603 413856405 257339619 822452876 185165957 439370584 821313808 624223679 349316400 584255230 374592858 213541081 346700851 137773154 146355084 792368798 888114603 183795207 123511931 197840969 610560335 402491701 466015331 448559353 847803935 954727098 584040675 295671252 947125299 579359629 861208429 131632417 913701263 750461359 352945193 174408077 191526540 297394203 524443718 339114574 467083070 573662844 366205183 854668007 523691695 682279653 927325179 403542279 322715480 200200102 434834814 379373906 526823982 729224348 589305741 329191997 745920528 276736082 278288066 410060371 161465917 769776763 732755839 800850292 843195163 763243015 648953879 775135332 531623031 279890105 973007925 204335369 997498884 209996397 893391594 974466226 567956113 256033091 430792592 271602802 681761906 981650980 471929070 327345874 983793171 437936092 888783769 398533467 963560574 414024016 596392025 706522128 916992618 317789012 835778135 102592650 326457612 379524460 873615424 257080495 461135800 505363441 964571895 828878299 488602464 780513180 447877690 355262266 863025689 674181580 450482048 891618040 460212137 210423302 398787128 364820484 814729135 956779430 176448347 183127855 661416216 559341287 708618360 921281625 934570687 632207020 550745729 720714015 194513904 475206123 234271291 661758415 261906678 598404820 687395522 257340504 723148721 487595531 250201858 495802116 347267663 167117507 745060438 672574410 816294534 491593735 846399105 331109553 618883407 472726818 925002418 354273213 472527745 149430800 673569255 421932468 573706809 980114242 970906247 459464286 294247079 936779743 613865907 578541311 403764074 335540560 329173058 459221095 867526554 431392053 435454942 998978938 353697934 828975478 166400929 284503757 663882995 664345741 487443567 446286137 851730053 369324473 670192483 284480064 845078257 990420769 861264987 883309928 950065272 811471489 714737010 269349630 358377056 658850622 791770252 432268881 477606271 128742492 668970579 976529529 615868293 379414453 107872979 882698001 256603178 200884846 698458915 517729192 768577579 762418859 792702224 764780967 255406675 633998033 172168523 201804109 152866258 460484540 151940700 610434872 514676749 292027680 459074776 513524100 414750762 549167792 547703497 131797323 882417529 872004446 645731688 997635146 420737923 578271943 782008737 748299282 105594914 612533587 292847021 559461791 122980961 686255706 527782880 998808093 891209174 802740423 843059157 217211556 450543423 332102052 871948055 368643655 717574610 239990649 194207564 217334164 638568115 178097362 323167672 160641300 785039448 812508443 224225708 775782369 226726216 316334016 149668052 942098897 961340478 544464266 415498281 323675912 531610574 627773403 332518968 502506967 464927981 362035408 802096282 848266683 609223305 192949129 648360692 148794572 324233511 487609627 375233875 242398067 683803830 238286250 294823642 560025687 470056744 528223162 844148785 402912802 588795348 755945083 418803172 743593126 393562398 521965849 959732624 175278465 591934006 777811590 320347531 851653105 440037711 834256024 461681384 752355597 196533241 886809868 421990529 515527732 428429728 627507200 368613628 538528039 237290143 659255973 168499713 197817310 710360277 152850535 190755387 301869194 598086803 225180424 842842460 305389111 813316061 214976322 773515445 977460034 810679951 989264169 232894611 392122313 676552130 791931738 560899447 925559656 326594959 655323010 701266993 812904733 541515357 287081720 516724142 972443215 473445428 460132306 406348019 324888631 946126001 222878563 819145266 610632353 932839925 497732903 330490539 200975669 859344273 100952519 221847613 946509290 881841748 648095797 575407918 209885334 767475988 932732057 757721034 400955041 326879707 568856337 379837128 436629520 835546949 505861253 961525728 249844995 590881100 393609603 687203550 757568212 177886510 818074924 662878433 206345380 731871889 613762095 184397188 749206452 496229025 594242760 863148569 875480477 468762949 795763068 406221775 122111427 888174304 282465721 933423012 252590947 911074216 834548615 394374478 809042918 672095156 929211090 241691600 103419409 288463638 490615888 895757064 883605258 469470987 674691238 830720894 326358943 416026232 933791733 494656803 700475704 200773500 269798074 534154841 409587548 226808491 407641396 731900689 376633030 963369848 610774871 273622147 488307554 428460021 523631174 130911215 407628497 231378303 541219038 887557120 833141942 330637838 262014655 438722806 662472726 714388664 688449528 935839354 742654648 984161338 424257816 523597387 965408403 461678357 644495951 447259716 653570966 379214998 746368689 333135815 985311865 416163022 650811750 835466022 791320857 889107363 637306822 714045830 765143224 771340345 974227305 250069972 426100170 524591896 940892278 300639190 809244806 606993135 178145626 761901804 453420294 407811413 525024284 836886665 104544199 873710956 734179156 339357067 673834772 883953266 209726570 844341509 892858452 480772618 814905451 847971738 923554952 110976311 249142127 645849198 152380049 889735205 906039924 307007390 330824997 811193103 363025905 589927996 606921671 701455429 398252158 859698292 287320105 655514491 502357190 534064343 843453966 402080635 306684593 543568577 670933829 962283335 246000582 504787390 467182029 122085678 246812550 647917513 391564686 224154109 745710723 186908215 198079999 339013420 943564865 244154774 455081090 781688363 795552645 445847859 910787195 586059659 194834217 797417148 255534542 266516843 867970018 930424202 560145530 855274540 193515685 391967478 306148200 824906412 516133809 769216874 593024211 787933689 767230703 247984283 452245626 995447783 521413017 198363209 598482323 675586558 339326574 536009974 387493343 932208367 398032860 860492997 248013261 717738799 265824413 276570869 126560516 496811215 482020168 991376504 714829466 349881785 745625747 335077321 761527293 515690129 892087584 746536138 734767680 877489627 401235139 540450195 211707471 473332039 376003826 608579685 258470480 187533776 993759017 259159012 197992341 128517006 728333489 913287926 270066374 418502011 424249447 402852068 374421050 844792338 708585796 891122768 545910349 461674436 556680310 860320584 883563211 827306158 667465481 556552752 483572908 546248925 967983565 413802564 622819972 213744439 697822136 102480963 686849894 711292315 356548027 390733510 356785805 817876199 395105828 315494699 343771078 386286777 872500215 149731419 641399224 271305895 810875074 703625162 349353392 136174944 340550728 267425618 104829958 884867735 175179126 287315581 333383614 550366047 937622684 219202556 431758399 813765320 500100505 511105279 713433460 883424535 104586540 630748774 513847482 220959686 875635627 433439658 627355581 943337338 290372528 293635758 234718194 251670143 294359416 558903589 951790355 918403732 380188935 267570154 552777242 882945294 179520743 536306398 523380182 858669006 911653912 985195781 180232772 693598486 614609649 666435692 349816570 631695965 152179801 454817942 692276163 816930308 785896168 514369729 433597118 498586459 402725122 619431713 136570363 964326062 372512724 266955851 597673403 546447139 105470441 654759111 585741556 843968392 948883990 386807555 918668423 233427456 682594410 574084130 534180690 782579073 326066480 265344746 609217139 674137581 993322733 802364177 420212004 380343401 113047602 978756683 102835719 183313439 412088517 883898697 136053797 365744321 207566926 891153710 714970628 269937041 456817832 207345778 209427722 639317491 142354900 123481161 844945762 881049498 503074833 567920016 479761287 431799380 256439510 638419452 276490318 657419075 624348259 716614373 588418194 180972792 202489512 549983595 791211052 360344777 280694916 608392604 524075835 664703552 875901827 363200700 647686339 626519814 718852444 338552570 393614870 321836105 790219950 172682066 519965993 703856072 978074294 817567311 911813827 333067503 975019069 763129950 733826961 819058155 929220855 175728042 407809716 754740615 732722256 157917074 640644333 986455105 735169012 704335327 933076725 124738533 872369120 483692586 842889980 462713632 734417007 892510597 979298788 139512188 862327519 294076051 180894557 703482530 277034293 924012270 113927808 528778655 717125942 822140192 789680939 634379334 578922681 966540084 918287317 780757429 894190849 394106665 324435819 667033797 124497405 345775051 401288100 579505851 413288889 573506696 925498942 151088002 322680310 190097111 233381376 843552973 353279267 361563887 326188113 514800396 597798801 425407954 139114337 763447726 908176657 231646793 383511044 471312841 774484620 270045886 215144797 788683560 363742043 384811427 471880280 616008725 740643265 370438457 972921176 512346747 915161186 379744483 305787707 925393462 962614188 516112228 529446909 801716958 253446622 675856084 277829378 755439034 607023074 197412925 417417457 320745006 434720050 742705893 711254993 680369590 361121130 182716676 790100088 846184043 921551176 621762023 772777093 579590376 819155095 691350131 185310569 992609330 441477001 729498545 924378690 378435994 236234291 342607846 726888791 870334062 652813091 257840046 643409596 395385261 766130256 157611978 247853491 147864350 720032201 363713577 226939976 382812323 347622267 144247134 439151097 613585181 175080609 606094118 479160364 775239053 746961462 715460067 571380699 431150945 502763242 177259415 256243185 476627012 656645226 350190260 389292454 984752256 673208975 548711725 372881774 452248289 717463471 351582441 786240946 133646291 121940562 177279756 408867227 711783393 967362311 761625263 604333013 519362721 824476940 296586275 371503582 520092295 105619121 259470062 120899819 355818997 294054522 136972353 291746898 626835788 302418464 400573108 463911534 769341199 814416203 645982128 557872962 140279612 179974113 233631262 808423499 408132063 302560458 898763274 874419331 355109464 334921592 524436902 643590683 107011183 646295197 446182957 780553138 957112152 784966174 595902953 385601450 720833209 431791112 101104618 485219045 600278620 849090797 338475381 598149396 322179924 729042401 737358030 496224715 368015629 230413286 306741204 505510293 220337317 354414110 383806597 963244288 181680573 944324935 254171193 885355844 701192852 694474410 739817613 308166540 175725374 310823169 372958145 701279809 617146004 234683749 356501066 892981684 883070589 455071891 873513555 694598000 475360131 954630663 624682214 193583566 896537223 705532702 148674370 537759741 816849584 616708693 324854411 142823125 768430469 941487844 387704837 149572313 994242034 309674252 450662243 871277622 992703738 630351379 190328211 980190788 350049129 391256734 289079530 466486971 643130896 421859096 373137243 766678034 269259058 892463270 573361206 570580844 725943898 823986684 600344129 739159002 695164675 326269508 373858490 464489570 727818743 823657503 500618280 412311208 447892409 559786035 661327834 978543443 961536268 641333284 502376898 647796634 675900134 529444767 386068193 165909180 511756607 590836146 850002939 649486468 241935951 426851515 182425612 198549032 136514389 617249418 617154240 340285811 178830831 341128943 536418604 616292883 960800431 324302060 161309443 310173483 451863236 418247377 814255493 414221768 957516540 666639706 388573623 778604566 167285892 723671478 719090230 751003759 813719635 641371948 629297228 622862750 619229304 617136199 832755300 853996827 364289654 604598561 779779805 763925606 659140316 818624033 619301538 633274264 242843920 431103079 773615027 663440921 687281249 718925098 489900693 596211659 475148129 920363278 222922416 220944673 375361517 900124115 646329123 595425590 513916297 817887597 291919211 648225625 778263544 205709477 338211457 402374382 614414907 491081718 640124286 310426201 712912919 645597520 373052355 220859673 614884032 409205128 488284880 448281562 192200932 828194609 148638382 478160429 851636852 515613173 679320601 337015525 234549320 596536846 441356575 801648523 356426650 603994178 680585503 232726732 568468764 657687414 786451383 629286187 301421595 293652866 636030100 280756645 990684478 531566115 811972183 741552075 840246735 709591704 835188487 797392188 382387066 539358250 124394755 374930299 183601317 691113140 970719430 399744002 311680957 311279930 623637347 476125028 718474945 644078185 303055746 734688609 468951631 554659434 232323063 370753250 851301463 846549228 876294748 569272300 176376076 458326154 163341580 175454584 344449420 619776565 436690697 472652635 613381682 850583114 396820676 423617953 428909816 898039671 538558908 617383383 815379700 452628707 535782895 683741171 755347399 199586672 568129092 897113144 857564010 968387277 904554068 936738239 119280002 841323254 809638135 342582375 329739297 214209254 682338183 417477020 386497510 609786292 265847483 494063170 131078597 571286159 985327711 423393095 814849979 849128561 441251949 624514743 614557433 493711198 358132356 678408115 710161335 612875201 666738030 165939517 745388521 875887840 826687361 173505274 138110113 535350855 375692300 423352660 306866809 125835327 250860920 576219360 195930210 263923347 511311311 672387050 593932963 829918886 463047748 374009481 902735844 719884960 202432308 155492220 116398115 882241664 926339922 218358494 718449228 968176296 835862929 285569178 103167815 751783069 951688245 591828382 257877750 453503073 264629555 846764031 745276980 688538086 490169470 247916108 760417805 943748123 288653131 372690110 738983329 602484132 146285219 556354036 380630003 116995048 400264456 134718193 630974887 858238395 165360414 526207940 866398199 522873452 191576971 871757340 810538857 667458955 594470125 970061850 945448394 264834033 958813027 744664584 951850526 103500168 556577130 352926401 323271976 554344724 963382064 146157601 474591171 481162151 613913689 636831996 448430899 419869815 927336334 776355150 857020745 524598664 962845356 858131344 164788915 322349494 153802088 339335065 840997963 939977770 481250174 661392114 941748508 718378523 357223263 668279082 793773555 124479325 297106455 837596431 650086534 261559746 623108777 356027133 982993963 698897761 249477980 692107335 436584235 430128458 709761205 608349923 938381601 854024865 991062276 533279242 408437642 625402149 121993253 985892417 182418738 141751379 416577828 241099431 145288157 533458163 852310312 554607933 848867576 263921569 899062022 418060449 722417590 792017126 501014077 526881322 354830906 505059982 549000823 739477174 500132630 220829895 374857636 754392418 292803142 656844947 422176465 841735849 822217087 598612166 169249265 388954877 565831600 432775962 402843596 956449123 180333611 973739806 875376885 748687746 512356901 886982591 468571425 982552088 562161763 593373098 642530680 369755009 571116273 312914541 597587707 720524814 448595507 164999604 516371459 874517865 197477068 482456958 532793966 502230334 318120759 724283077 237024815 270261911 521996390 414075166 766596994 206150339 485812069 420963684 776184950 640520293 228270377 933941591 252239978 979773507 741859007 736609237 679587776 195849544 807219480 586451992 771796558 630668424 988865942 460523315 601314345 999016657 613521487 449265491 355198522 658450047 923907504 564962475 574984541 585532989 152821252 996787818 405973414 863082919 676927027 380400618 102365300 469579912 415236555 137806851 180013855 713796321 990519372 865118940 503151243 467152950 175302996 320855610 649947021 872268414 859397023 239646083 240944714 353212241 175833618 635611913 501299170 762741066 212624635 666376491 313206573 356271697 888284656 939687222 982509337 614597548 514281570 995191234 758167078 666326285 138496491 411528037 887660519 347977766 460111350 469836065 952915736 767514855 322820821 841351160 238173783 588006279 825803466 364772796 984509038 824222230 888100174 745388668 447616244 130535731 283580399 638950556 389593488 771875383 852472151 307854049 214312465 725576345 706204302 115847972 747812657 189285775 970201650 664399209 553773427 370768440 106197672 299539646 376326159 434715206 905224697 169302896 271396676 855079368 400299260 862027721 858779304 814452653 544048874 403176492 728583835 162458132 352708512 754984941 654749282 380728694 494509129 915577755 307412373 293481751 640642826 487429924 943863693 430509525 847154298 651287646 369924523 338787074 910985994 564322055 596936369 235369362 944128858 194320397 478909430 755809530 890380879 286409866 648597557 387878826 491060012 510619023 149077014 756489124 394758847 208043831 746586063 469904200 172073392 123012935 324493332 113695297 416582859 774476683 601205477 655032473 908596889 182856462 718379506 491852293 176407795 527242773 677637632 432297822 695809267 515595284 302825588 544673501 522194565 490653556 420589002 866079469 920772831 982647406 769927068 292841993 112428077 557049261 349457754 883697670 901633019 619414478 827136101 453594276 633679192 519466829 304456426 400849847 326411233 301104663 466310795 833664030 511491224 930305078 912002160 396239666 518231217 422870916 767497411 827873897 788393826 631848015 911771111 563349089 733899643 219302430 918547366 993422717 309472845 241855709 438221130 617323748 952473239 752367855 327074943 274076020 497308701 704604769 849755338 598594754 213437864 882278857 444239037 637496103 507210509 539989711 239363192 356921606 305799506 893210969 275552762 342713203 394015228 730958754 581606248 988491039 712602734 323030866 454667154 119148721 602479756 851404514 459401719 674609837 309754238 985788671 784248104 370683808 714436579 711858602 115854518 323143807 130467883 230642792 651514043 234288026 538607533 220903626 377245923 631870400 930119437 971619718 810165297 826749960 141942543 266726722 143626960 676476588 931805415 878195330 250312287 918517995 764608026 302068654 704724852 456210177 675848939 809371519 377082595 212983785 682745493 600194490 722223397 967075121 887573399 764612059 287084232 402790566 897378728 149116551 640754055 229011553 975850045 563504154 443157606 156085351 864410651 337844711 188395420 440260290 278864158 666890715 545124200 884217296 784932041 784473771 348090255 596442653 371007441 177284423 274932239 258149644 129141166 712909752 137371464 467936116 514246390 831956512 837501767 849969814 520784202 332728136 757524918 149492455 748891171 940906699 148539387 826863000 224393523 609184446 402408271 117088285 710246090 349933966 931345915 897861106 428107858 656214842 843163584 480119738 767268740 790830133 622734347 352356067 657794146 242900456 261012366 849504416 275101038 958328325 814725545 815425147 445468543 951193784 732482462 237199483 309958500 102770211 432642784 352944486 451315130 462006214 438628642 492871940 726211511 883506235 228922445 388501199 992989534 151447392 529705857 674003198 324803022 127424541 715349115 237806167 196055774 873644091 427282074 661399262 245017868 809660149 830508116 922323287 840676422 157240854 309289314 401362573 456404523 428465938 855447771 443479504 533197721 375387486 845905300 445364794 984475215 268743837 561524461 631622329 404393232 312762774 991629564 311061087 841647746 839181839 523303703 785845718 128881731 322434952 824931078 377802544 926425471 176847352 756707191 209833803 752833693 726331987 397116291 825361757 327077230 775665166 911493486 585832650 288427412 159056222 725985933 798383051 109014898 451281436 121655327 402269681 974468070 470932519 189694196 787796567 774225574 628013031 168334191 803264352 113349194 360033431 110635410 924627118 446576328 145833908 266721785 744428253 189062664 551547735 953051017 769550305 111682293 461408394 896946880 215842680 493480842 894485767 700066623 745577929 757989207 253466680 221439161 149607253 243684250 613215141 293196258 572565374 844817930 907779579 837861680 676677770 709250229 318223547 633018995 452625395 712712523 235797694 850437295 265135612 285025379 541897074 279774245 114563988 795975497 460703223 179999737 755382865 838866387 864596806 191417557 783799080 406933714 682766247 750317493 442258087 116214633 920837972 250271440 453680622 262432341 517375385 411310221 247330641 407504520 622658992 584746431 983208604 108238497 189017821 171208656 868852148 710570567 709889145 670361840 409887491 150922019 348434927 963353516 843084799 217692220 504191445 396615820 467789425 408991227 206619834 398018742 659163326 718775516 869124226 852912227 824046626 828374628 630552502 815670320 398594486 948409153 915114539 236638198 634636978 888220493 488103367 666810366 674624619 870150864 284116153 823813739 346633690 311637927 662009141 648757923 870696211 544377718 680807979 495236001 274193719 410205383 674841261 634663909 543884801 611194061 332777740 888286934 667668633 600930725 352702436 602969678 994715889 517854236 167780633 689736010 938368997 330569702 476129022 868812987 536878209 137463457 915852887 371626450 381672762 994090686 869529047 112692532 577051281 565353193 187417487 315324041 235396321 496609051 864204149 734938613 804703780 401434592 156916851 140565668 268723968 508249781 658223076 375989840 583761908 362441337 981454327 438888030 490864013 904000482 732354967 382676109 446830049 236939038 965650346 523168880 857706687 658493630 654569748 469325969 586329806 980426338 913939426 292688704 479746617 139409405 881061590 403942046 927836159 875947464 638398146 681774803 991038200 717709278 413289272 949912578 219745642 271803540 843648348 449251541 647799808 184333945 134248198 433014632 298144573 729158410 614241734 849615469 887064630 376405629 628546767 328821195 758213044 833001718 169408237 406528561 796141429 399714318 988178677 526871963 263635641 882542874 437084577 658120537 991085925 300749238 687607327 812816608 130692076 176624899 899617641 920227564 296831778 901975937 205284359 466200237 797963572 299652348 533589070 366551828 412111173 635212948 819697400 954813111 343618685 553102573 360899334 404974407 377703757 113352356 622755067 567808730 127365834 107613508 658371777 581247645 794335591 871969035 832617428 497838282 816326333 872846185 347698248 781368122 903761593 634536989 817258160 431682362 374824068 633903398 371423080 180678071 805342381 729666221 524707310 416478564 203834720 855754377 544689406 753159346 349889043 477746535 471351038 656630125 565998822 426434418 188893479 681612264 624927798 587710660 752537576 372761494 646363207 389039192 147940493 105534883 856580030 567829019 743189971 766360198 323437432 786364289 608394240 947977137 232072221 953165546 759985751 565518044 222063099 516580563 576188707 721154554 744432223 730875879 968604943 407100495 959812983 413757885 614249360 991953417 842484678 645996931 775255123 709800686 890015691 428465135 776737306 167199782 957378906 399376438 190181908 394133134 959481025 188410507 456885062 606522551 694343116 310630852 831144798 883819730 470225664 782152872 175373766 703323025 773197256 435870985 377496744 316228664 413628881 412719616 622612850 183666316 127596890 121169443 737266260 872535728 706497280 670198013 277719916 998243014 798591014 972347944 963969227 157944821 337257544 993298236 998856040 943886446 501776418 474109146 754904045 803180023 533327736 940204964 207364816 914464012 950173079 595653438 164426454 557919773 315668234 651990839 681748411 857584791 756239648 326220133 397206915 884869199 592759970 768820989 598910378 786964215 921152989 549498113 598744549 592590684 852912400 106248603 992345661 153630964 889493686 987480812 910617702 864934375 506056042 583862654 151788146 802510042 740508993 264973103 455516684 763781744 999796114 662733392 556514926 492797683 646101099 796653254 533235342 437365870 941045803 468092353 649852529 207891192 134936559 946372970 180899208 917980209 476088123 493727778 867852122 139147795 569185739 880280666 212256469 267972712 575732937 582960608 799931560 363699135 903467172 469354025 314722940 230295864 623407677 396577548 561545143 606409302 563572301 695079455 532502532 323636051 415718039 712985513 102332990 748709165 717245145 318071507 736684442 328245141 746906463 469339907 524795365 463914315 355197983 469649744 255251328 775288665 926225224 240584832 950894287 439347962 516222449 824542105 837365988 870906888 585379563 794528208 976748223 230273885 861911541 951263281 609491375 465702839 872030940 155944560 226932406 505566762 306080710 216035406 536171307 247395132 222371530 225615718 318559600 556158846 977992821 474505748 619120561 127869088 282538076 225230765 446349082 546571081 733913805 981340783 465471955 174069093 156760895 226553453 929082369 751351446 991742485 214012478 319071218 836013570 718589051 825209274 410047121 244131162 341279714 857434243 872326354 863415541 463635878 815975830 390704406 450154449 770699542 379189396 375531767 740828479 689964576 218383425 303123666 714589535 205280092 245884435 745626846 712220708 894418196 362491600 751495016 831081586 794650363 663684272 751252872 130855965 208298403 262791465 623812650 859593070 488425112 188467813 820879717 762168220 700256282 483487486 552077613 825010074 695773503 242951556 361458866 585800196 308979286 125441590 932837256 208039694 751317835 210479000 620256169 581278524 307781071 417498178 433252030 959734408 595827470 753283017 300051861 211397356 423988502 897106460 262430470 476126789 442375659 365440779 362738949 159211136 574820472 530761600 384032707 358407452 853201376 232577618 155146506 935219260 551847933 657701191 347694445 720265670 429764137 989045565 168103129 692136510 124438240 263940887 599080787 304778022 232172079 933686914 746975455 155767432 898079873 949129171 400501541 968113437 820532769 972321718 858982668 930567805 231640223 704518180 122267944 286249322 895193550 118355896 703047466 410210849 188689461 235968585 547647298 974595957 393973050 904523331 182688323 853598072 857986281 867606895 686941106 714929797 265890505 725390815 881038727 644665608 308720363 360080598 585583249 407273075 883845623 553347412 991925323 290667005 589994946 652762925 616956366 755670082 873547988 923701485 990028123 917462704 622867483 911325717 116473207 135012167 180660670 700252737 995312121 403786938 691577789 947269840 385005301 872354026 811393458 577481992 974940685 247946503 289692047 907299926 969735364 511052312 394023345 295702347 852454456 348724658 210792582 943755894 327852884 353285202 991472947 455250551 345726130 422726059 109872269 465190591 208488093 141551576 622661394 930554401 944651503 850816897 435954625 809694581 955172390 485822029 768302704 914524177 373681526 981932419 989739171 347378544 946268290 195892222 799239096 126445143 272609441 751382524 398906386 842215864 278189026 411660328 599099217 963752172 416756737 105540694 640023104 365006614 607117112 245036321 795585625 984034383 495455964 225580699 609165919 101893297 330790044 613916129 790986778 513807431 413655455 627397623 896846948 442923291 533616972 902830078 604960467 494461815 983071894 371287175 222064264 725633977 547501839 457763572 953788873 952829234 137769439 431910138 159727951 392221128 127432218 243579017 875144176 377715942 217106708 972297998 415181041 308900428 710798273 847298607 403715002 748302546 515673910 444241473 461891659 728575824 819499533 436772213 152243183 713135478 330197386 520258680 387672609 878231248 228183650 731778231 258286866 309225119 415997912 862529779 443671503 777771861 810400719 191422184 722964577 846218910 591421403 632425713 811541340 299793503 355550014 487724369 692701713 465490299 745844574 663483437 283760842 349742636 777265619 682756570 123064229 888320224 532779629 105672472 595831537 448359605 940442659 195320844 934226540 127865297 169465386 213872135 721933288 958404975 936313982 967541471 822582086 468842208 619508267 505359122 726754885 632878472 742871851 471020466 992543930 211332714 758195455 400034853 542342569 442986328 386470893 424745328 937266485 730088334 976196839 161103842 925021582 752596880 826459345 383903476 283488545 797159030 502949061 576829775 235875019 856352835 903488970 790720343 693174053 735481038 592762476 352024168 288789599 453240188 356573697 392218857 303878013 337774048 651346915 146218480 597164379 137525807 412417023 514215389 660923708 491218470 712192095 425595162 892906157 927666243 757936663 426419754 947810786 896896566 391551914 915030401 106346110 428618497 531980938 830792670 749988244 831823718 439255688 441306147 675418776 768080879 906831667 785896583 335249195 710788195 607206106 387671604 430098567 557759243 125102160 232665994 710695564 352055833 190249527 406021151 609821144 769033918 234562930 249558252 739879022 707988161 704339184 811397831 434139167 142446485 125285477 702384018 243213319 682859840 630787133 259024126 679567184 263675233 949342901 802084503 602117297 314847813 982940026 782870528 376575056 495671083 472625151 616871051 530793798 412602906 132937363 854077913 709353673 696446850 377190128 158506760 743270544 578962459 137134193 322275769 238348643 608306607 108177105 392454911 513025042 778311342 906387784 940840899 864240401 774850441 554932454 120733365 684273280 972140219 210888171 742602163 860499461 181157907 377250662 840037688 960484287 745182512 628502341 370112423 775520474 201770112 645324556 867354936 920659426 780273657 288482772 794518774 861509652 408069493 810443506 747806873 762582654 330512565 428972302 328532628 918631233 124449795 899614942 690392737 259347691 252894944 129694207 992489033 272761186 191288422 528594829 127619908 826600228 470604707 483803731 438647343 117061643 957540755 296556072 873563309 955601264 100269907 950186568 967288080 306754052 545843057 944259558 400347485 798703192 732792091 332526857 550094540 892092479 425386668 781496654 714759007 669090071 541894861 428033099 966356429 609282842 930345328 495137907 306756363 392016420 546507692 154038069 216286657 195067888 550155982 676130688 682606986 575908605 587855671 397262512 308547176 785588624 246678021 887195340 755699497 261043384 779369317 946563965 628814834 607980838 807288180 763541972 309206959 773457130 551458761 123791667 589713976 736708407 551805756 411650979 395817397 977255648 735038675 505012364 270371833 263525230 197666693 774101616 966897645 370998383 861280058 972617712 805589655 467871083 286447808 528568180 638668783 803107698 176441071 815769076 134287181 905040064 653428735 518016709 609846299 125056208 872504957 778325713 132412230 402534584 463618745 236828708 621169392 569427513 420986770 857240722 640521358 917898812 443807056 809043429 144307129 695441288 217050114 518096303 622491336 811358779 470073839 619876726 414804213 629594287 342673584 525281145 385249377 961659682 759193963 529719093 667183544 147194445 680544926 634553171 150660013 107411066 380830819 732551989 747809208 203877931 120928094 295036455 443161003 807759539 176613770 324361716 886313462 414271879 219314565 686318740 736758234 660110442 871820240 585475143 345105312 192850571 394776156 374595950 290181018 852006882 663155819 988471999 151348399 616907754 713866681 527381084 176489359 750572907 406004689 621548128 876823417 101467485 899080471 460685891 919167797 969820868 306908625 309613884 805863631 994948022 787543199 654252839 995952953 305855147 969704655 583898325 511134934 437252748 757232826 518294184 840802971 421061209 906739081 474501295 958198749 884474217 143096896 899667074 185008455 421445896 512113148 771658776 355443019 506406437 463251749 675507255 373978647 511571754 720666827 745665997 769349748 676621981 200559840 734703661 749381997 187120301 571520563 370864029 413119935 562289132 994794433 533010705 470150855 879528224 212968514 659890419 123786725 615732498 886614088 519203549 686144783 742800745 211689797 663216127 466715451 889407187 428743420 946467577 909786787 959384137 703619655 898849189 117422604 847351131 621451555 781720507 676382657 632049156 958110946 934608820 858632342 429333031 666778430 601977110 350281503 666807930 791402316 153624998 397512930 383300352 556803930 642827560 918264157 920894230 636269623 845769617 245417731 117716389 268178823 953492518 945868963 271992731 984283610 618444438 994066809 141763435 604356133 468337730 762201623 914889445 226068115 113523766 434700747 926726936 373932838 362586385 344587499 263007406 626317954 548790699 433008351 952286049 200331198 564327498 667455091 771901229 188063909 902430267 787133072 111349021 304876781 636301838 613552072 234722625 449323372 726631998 193304117 548436980 836747613 809457546 489850357 528979714 407368374 860583574 636403747 869521827 503396877 220782329 359383525 422816053 719152764 146284448 756982112 486677066 387411286 193723132 364601163 535723847 462838464 659956334 293157722 366623556 520040453 584850575 982775614 912925965 281099353 745346699 539520875 375368343 655186115 376820655 164032601 899899808 945399438 197835253 745638069 940124068 844166106 487356227 219006775 897234240 149148560 934963058 110502527 714471799 933054369 235019156 796179347 155028728 946156679 103219448 597053388 568581550 314732159 969978993 335724935 730662527 102123841 655304891 841105416 834943107 542236929 591243910 113514056 940604557 771955745 170689784 152678441 743942885 402261071 959861829 361694097 189103910 751946415 334759044 442659003 880188343 810020565 366211468 368758441 181745273 417606815 361606626 827029882 960266092 653870591 331476070 441065746 945469805 564559654 640236067 151747735 138021087 810821541 600361123 842491628 166852449 223599610 526471257 986098541 392577119 864563311 891386471 115031804 961318500 753765669 373697902 957225197 678597398 113080289 147685855 616666058 621600236 238603666 653655228 120054442 274545990 166987397 550991976 191522675 470858059 142725178 973451029 408629362 582038194 935639439 906161754 605898200 178804922 673666923 616003763 456085711 392036650 973372926 701559240 663116473 534616054 346168563 355451237 385463850 306881652 670766860 632869418 848312438 298353413 346478367 181718514 621841035 205672416 457721675 549440741 287829804 933227759 386915173 769860738 182455058 567600179 776677752 505501910 349503911 158126059 303683330 164750150 471918810 593454694 107997742 844972691 854201849 542984889 157845899 307260852 709106309 292133420 122079945 427782070 940660667 704190676 102744620 722244394 755216395 784917566 662314032 421130960 765041247 804080647 962824208 917811428 530014582 713272568 481539869 738599592 437925695 741095854 273353409 743476426 906993157 864909060 894611901 669009916 103914333 167987719 288671103 775033109 223441332 989634128 553052316 600862237 911539765 269718601 808145067 672392073 468579681 248677984 280057633 526485156 223776918 441013332 831356724 970738384 644940616 687299969 149665631 371808209 122269783 246355055 584189624 847078241 459736017 605380958 779358989 536999320 655227833 477866634 460152492 906940863 358016423 537893174 173425861 106563158 713289179 334937233 303622278 156988328 444180793 201293301 486048999 341717503 453079787 775360214 175984216 388240745 447877185 841046930 690091818 893684404 455321312 235198496 808890431 342736777 694194248 440636727 696646916 171669795 751034095 462593459 463859233 656205562 387398703 720872740 792753778 724549116 222547678 388966402 832660361 601931718 404317504 958712242 568573119 273263416 606928596 747804959 191517642 911434601 921413220 716656783 639130768 737019659 243739298 844003250 495580300 509309292 739310094 897551727 190399431 656972101 244893534 959079161 774643801 663596118 165771807 290452705 714929228 906975383 653302452 781352210 749566850 468967413 490942050 914442706 118270094 422904794 701205338 195197701 996715873 885099518 754031375 351399309 246470385 129164843 687207236 281652272 616592430 611374777 681459930 547763609 472634981 573424846 972502512 758682988 363013246 912915772 538522483 744956144 116188883 252187171 637338811 276165249 854372575 119851729 661820276 753370933 821328941 191031135 644841534 246631087 339735621 493873028 259970906 327592102 458726872 657776823 446551917 414389994 613419327 358405935 807921375 162968443 221034580 911525816 788710765 604880641 425827466 802609821 291209382 402013390 324194066 114769780 686136487 467514067 269293283 705383683 886339420 982033731 278823050 819633091 727446532 701017777 104504630 673882853 163510216 264981460 667139792 590597341 620500676 559693150 994719534 547039201 953668764 432584726 649963773 223398636 639437573 529866607 559511866 802078213 671941306 981294516 698312475 319581266 232537557 874353948 256951990 893891664 375039489 257186360 751533134 676158975 472585466 743225274 238680120 384242408 817627169 597351818 714431613 195833193 797499528 907979349 123530741 651645528 894064280 441558014 358062820 383499328 451393972 971626927 478312531 510840174 612804772 656893157 171469517 439605485 280299132 671924228 727862582 717248813 989792937 769577829 371495456 589574258 693210452 637998727 687563197 151256963 315024571 998234239 102169044 551842262 232121008 683903972 416379579 695693592 547462117 538800922 582923344 904208287 796588519 310890923 615050115 643939982 411254357 723758314 597578763 253799247 449591433 159015853 511356932 630758504 966302474 703441262 452698881 892753842 355829689 659292533 529368206 301137379 837058806 287784158 571256482 282262415 502641259 923079133 529768489 663177647 805129421 289385318 975842913 708181645 552678976 549422213 825102612 440335621 259227998 619433032 926244550 969513502 799009254 556834755 785577025 407640071 749516351 166488792 534830212 354235082 926976309 105050208 902203071 441436074 938776035 712746611 127526812 630019688 209579547 746611974 911236627 540610202 801653350 880212127 981737288 764046657 886783195 519905523 634731814 737413411 895444146 889759959 497487663 529564517 658726428 590641299 137510929 165542065 573863655 209866496 141643301 638839541 869197743 628536837 819557212 867771497 452474400 509519490 382699426 547512200 668154915 110659229 145513001 914454820 882468660 183094676 995244074 787846243 251508645 377379601 974159268 458519590 734965958 814827023 885525461 985054203 123414102 362624397 925182028 108323214 336276230 884039056 567720572 570071144 860360176 216265968 756571326 394864944 783254539 831414002 233850921 812459405 505246310 232118334 264866821 795642981 311494580 481662399 309989817 456702180 301337238 270342272 520133794 295162681 974580062 296804668 721316121 636944023 757853980 589349644 192318549 611101445 358948164 451433795 600033780 372508469 905938602 399550629 574864488 980364015 118717548 773734451 260935466 261523646 154603745 700198510 450692486 309319147 106088460 121346900 406513933 836149429 354528963 915183855 318116296 708540137 809540811 913809593 380153244 922770889 130567154 278939898 682870736 850444902 486418188 678003201 476366014 484180586 695174255 103436525 811458953 441884363 854783827 429333589 417944941 947246806 488311165 914931806 579537778 673991192 922550958 738940690 294601732 525619589 633944017 764537703 490721389 312466935 999413607 121637555 722062744 237740829 655105207 774282366 284773563 536239877 903761021 951627898 510802099 434637193 226085104 694585083 309088859 901789712 310074338 477637710 341597781 185944261 955712588 284372296 739437593 891248030 774878496 648637930 642196245 148922247 404132297 755347525 580858767 866039362 539552216 680185374 349927429 475324787 565143266 159302368 416922680 827986259 463516613 399668433 900997784 617789029 784131810 748857587 277583808 668178926 960969145 288672357 666936431 176757547 669231187 490648347 513072444 563270357 816338806 259249563 927868738 620308164 666789100 268731895 120639396 525541638 481099329 356286801 978977085 840941895 167737881 456427154 632226568 514337523 999575026 496576607 186521424 684726727 798250190 206608612 470297664 658709458 596322406 652376519 144978540 460716796 910721512 368134044 281758582 964795129 812480120 385380172 982550463 880693885 738555168 953614265 425669694 541316681 834660973 818735714 381294824 631713870 487497602 766985558 427090994 641362957 771204645 227091036 603517892 520014551 563331655 344853980 296268117 259552232 776958218 265950817 864073356 560749957 935041711 583496517 632666983 869489163 734772977 614243951 879887160 360172129 990663702 548980824 824799118 741969324 359384593 310953167 473958104 969552898 207774578 707830421 296799113 845268748 316472495 108220374 930607152 154290683 475675952 787996043 939284838 278208785 839609632 455860805 493165357 283007763 928456346 366572141 886774444 178099132 734722478 409907510 953256161 708898908 459314351 243565204 461824738 584219193 331232953 163010067 717801809 142932548 385365120 860977939 504662193 902692403 693517943 979603270 232657029 716123643 106247577 179642241 128584806 906018957 422288599 256599635 156232251 159151139 316792441 981074681 319279346 388639652 426718451 178149618 428760237 166493357 381013740 655466986 720932353 875885698 996107018 413518249 279946829 419395928 390975067 299438430 814137529 619232520 338656315 798327191 790857435 145438308 356708247 593679792 422619453 816299842 965470480 495883008 536013168 932228643 884683687 839647123 237575065 362526753 369835435 523785608 561926652 370138999 312288649 734475753 977625081 333151296 431884585 544538500 656246792 506731204 121542665 210866424 359181725 965847647 867740335 263414283 335601983 116279146 107437701 816985382 170887125 710175964 586787488 874614396 667474430 383040016 103929385 100459605 646233868 305280267 879399195 603183514 287423152 257633143 848725853 792088748 852082532 964764718 846111323 353870783 185346278 122463565 379485706 185784772 450756178 183210407 298585883 378066257 537403609 754443216 220484582 713581461 619355590 738778706 778283569 931877098 234504184 675303073 915885678 779606226 167619687 743448962 334775978 905549458 360063493 373963618 686149533 758845319 712040511 691697585 458995954 654284410 523078666 998046931 902877043 857535427 794475587 325516748 594174499 223374260 449115383 339386332 417057250 207318509 593627893 527321628 581457241 390019902 583581066 504148931 202463835 287238394 890571333 784733194 371911260 624471561 626134164 902697697 531973381 865918853 663756830 996844908 892937233 384966862 229359951 330503275 238833297 969170158 746337454 426856599 427763122 152760872 480922268 387353339 271135475 540649217 145452257 677617960 367140151 830540286 360381102 195545630 327057269 142239849 428998737 246960643 518660228 383773472 995843354 915098690 901956371 345467400 859474831 175703680 467163946 581660783 164718268 292849600 795822067 351007979 985802452 930229759 281096985 526908210 984824455 307917841 281202318 413496269 594423713 132766986 865173485 113557640 235413150 742727099 358244588 523907023 691145902 921240825 172954633 877659468 901128940 821395796 764128801 768034305 996974714 492308644 975993907 623790650 934925205 945824989 168580271 158809512 518020860 338890487 887010840 970593274 364131849 582805998 273095511 330381720 107444763 304485680 326433873 309505160 291501271 414202282 443667372 654426949 617230577 351716796 160641795 611316706 493997225 281817724 321652494 395226763 241408949 385243250 902501727 927485120 151847458 239732060 765607215 469985343 202344790 919750963 314921403 433605319 520340764 198475264 977597770 543978090 631087836 520041943 807941665 960865587 777238738 818102179 308919096 261825610 803340774 952222738 756290807 149923187 757834002 773409565 970642413 329936381 764289561 292652933 751411374 694605059 793625173 940535921 543422124 360928990 377063139 944211561 711050907 592947645 908371673 301676012 198785447 573144549 895116423 666585716 936466219 746813865 353006183 859313492 955860206 957385705 356173421 930980640 203424889 123294816 190672586 207678511 810568083 604219276 142537666 496239552 926332426 835235905 964697870 955389256 220062142 101224416 467334083 526865328 947864854 221442699 376035509 311827370 467935208 517007994 569661671 111294663 887398911 620515584 224322200 350843553 924277235 238130424 190941602 332870314 682999665 816258095 203684948 812858258 963293440 210965179 466825621 658618273 920766935 636120304 355256551 652872849 638433059 984482058 362247973 829197946 250399994 884551756 981764274 387846818 682502150 677305711 857098720 316334758 270866944 619136063 483555022 750751086 657247110 382093867 747708286 851306150 597580827 898155955 273427775 648899694 338533276 809253349 921221961 687891741 500827286 971882491 774105240 449738911 553818034 700514135 665022352 369099527 473143826 632663662 934803562 210302349 807222212 743373267 906583938 359355362 901644007 821297065 493672264 364171940 157414158 646121512 124217741 115075266 965811675 176843795 351601569 759090159 735893598 809802083 169124512 817646310 572182588 909515615 689883600 118431145 518184887 475410385 896054114 853657762 528740252 325356254 997396151 119525705 219325568 993530607 617952895 703460209 380680265 148921821 967559244 567529412 969353899 392539431 531764707 419242043 872088060 510243185 600996031 590803083 571446814 751330930 280477910 519198282 658470052 570758934 553513662 307854488 603749506 900697180 222911626 437616394 489306389 136505042 115358005 765666930 537180266 390961094 831066633 732872667 129711997 273915767 607954255 914766966 260287356 530392421 277626664 991029711 595905483 647240623 229686468 988304120 363194064 978599816 301882346 152120117 530734226 298224830 413810012 312212892 602730664 362998438 221545833 414183192 929033790 816151266 394649431 297107259 546101009 324256209 167316275 305430915 366556328 317733373 754192946 877482404 311784043 286681356 706184272 874981605 540200646 849334086 996334034 411921403 765804472 637799021 806319606 712541357 600487618 537557432 530210496 370445672 956771865 677401735 319102310 417302902 467767781 877381101 964901846 423333609 480872699 719118947 660433527 118100057 437442663 263440991 916007815 617411528 832573882 918884961 692244791 508181947 895999569 953563988 369617735 443948954 924955999 200708410 320522973 947996980 682522149 574843284 881452338 472572445 594302801 181064523 829896763 788127399 410155362 258221151 644344121 697215691 573269445 451466779 506104479 822658947 477935532 490163249 427960327 261486492 523185281 627706028 758102039 901110625 296326947 216668246 209851029 363725114 171086792 142234769 215890150 314313847 517816630 766863490 230253955 183666273 513042803 558892507 646697436 575287788 171371902 898801643 434728170 428933815 499698539 378063335 968020828 447774652 166222585 615414198 532464432 342499201 770904418 111057413 809499162 748541821 557215257 919100636 587703272 350404603 319856152 897144966 424962025 375288875 516943623 849788022 543159558 339307471 225471492 995260179 622820718 776927249 581766308 966022097 813419684 939262318 496145533 644239251 806160291 135269008 348359582 902002493 231563649 913318259 496937504 434545733 873645160 351109354 787422801 341382955 356199786 892916518 266622102 103477394 932684989 438242076 225239424 169078474 329708019 868354178 730917413 326754095 222326156 539870072 237025033 428059498 307743987 963781348 730632360 374988410 751815845 324586444 633820910 643378719 769128864 636022723 220824417 737408465 220428926 986248422 877868534 680466991 978683003 266370283 922957047 450412279 659240127 134766466 899161703 161816266 555665376 587669936 299012161 839736179 524997411 676418893 780685564 378208249 413066045 747624516 380178930 170245696 748696079 768480798 896684093 614355050 117138143 756539001 636594658 237123539 246555876 671269783 728072259 717600660 950413383 559866295 436360947 565398107 342343199 537253335 711793209 970681541 449996598 574495123 538647667 632326680 273782752 927092218 572951360 533825646 348906844 666789663 843971810 413459045 313582534 227997457 385175372 307228559 213306382 839939320 589624082 710110838 174630306 180421611 706496268 506771913 830083370 921879894 987995207 844645609 470096136 933406881 947329402 820899263 489481223 248354587 932583137 272808878 177497823 693722338 515844692 210570977 805318294 228645451 185024807 424604673 427030916 442793742 300722528 375090482 474906349 673373523 196982173 745188972 389342610 990864705 556405808 298006730 342767376 353946113 473614073 772828128 926434037 312223833 983419462 914813515 459088700 369041521 815364686 862437774 733828831 866138165 727780529 382569230 437781372 816127483 167031289 786234939 196029284 706339605 146282231 542059749 509233937 895509106 696747547 131310342 974058801 509871807 880271197 132425124 168796377 843700047 943184217 302700136 731387066 949299741 155008770 264642283 889398289 159612490 465669762 464751597 794428660 617656510 876506600 212082044 272870472 713857327 170412330 925110435 448906247 479254201 349584178 914395146 882861066 916561990 999377199 497776521 403193243 175813216 663104104 509254127 383937716 692211161 647690237 822569150 478740220 213765146 994794241 534346985 941312220 473726160 191537676 545871982 624351582 192983143 694387839 825972105 392260403 163130287 701627806 426281073 334043836 360299605 364540041 714689835 163122909 392304702 309480779 777159172 369181646 957061215 657585899 131759259 187805131 360220431 586541458 311100106 799180579 107471775 355225734 182103269 682257362 564004764 883654915 141045292 690833017 297191463 491941853 627521451 942320375 465625406 301536806 552324823 833813471 400066783 147990674 278334280 231562108 622763755 915971618 757958531 357754829 392511111 353524029 685049172 731218622 294371592 930316972 417884556 968487053 542835529 388873661 900967984 542281524 382323602 216410031 314347393 331963934 675414876 914210758 543802682 454552520 344152173 434505834 659706980 142709108 269968456 711891040 905940242 111044106 442905347 428589721 277371174 425687685 851327071 587040856 194827045 634199668 300513173 950319782 464087795 524934363 308011935 312692915 495475873 853724113 815598568 240337563 579481701 357913714 995213359 584941786 606951615 450502576 490551838 635174157 351767976 953365143 298156253 563204432 697310854 813704093 709687929 960265568 863855660 821439385 984354296 360429172 677277173 813680490 609842016 242147570 448154177 476756555 112165207 252335792 881595986 588760988 741130673 597167980 261762158 550626525 650425814 942379402 528603394 186635712 520685180 690151614 408279411 137444076 169812891 979771052 597352017 163855348 305567841 145790470 471364514 529153284 476077630 811384141 562138511 367373372 547621495 106399662 789847261 343511964 368119506 336262772 890869597 269605101 704611468 918407375 246452505 654153043 831747705 905954428 210258333 736361858 256360224 591396067 735677347 897528524 761489935 899426248 869577905 583066516 726278116 984322964 682751271 308701722 637121141 709596635 441865021 976343819 395018563 774525977 453054096 954683872 826736857 126481839 734311929 633592580 415424456 837732392 620269017 698407309 908972671 867508012 740980209 836114092 766424442 947802684 725711521 310402231 776002201 878393290 353190845 123961086 653788459 361135644 856068732 190085082 787228696 843460978 417108252 192333186 315559449 888807759 373524694 361575450 389038428 434369493 962735596 215842139 571945754 858547939 563434764 788672722 329488226 842433736 696494127 646794240 999091613 766399959 439804539 301450610 486005204 206390866 625418343 581660763 841329533 554820550 889194230 814202821 429534066 928313099 923468656 697692491 521273176 975501764 390217198 806817232 102598971 995601378 344647383 101898065 346708022 752763885 820275539 693780531 919822487 261727307 168705088 170004422 455885301 941906807 666875367 893700695 241348339 410769135 412472853 214765026 783598426 973407888 573438791 610253035 733568941 846541843 952540856 817519186 986327327 920891346 184627299 357218618 298105410 649541771 660221263 453128468 335384768 410222790 690924713 539445982 871042592 402172112 313221584 510695195 471360443 606529765 395731737 663293392 816581969 430529828 456472624 895576262 975094866 246822681 545828790 740333657 404849722 645035469 973183366 536951611 668980252 145256362 386620466 113985908 388406307 378496365 221135727 204635216 841228050 938579674 915814730 155736250 444885246 326437798 918032760 887538671 366090258 398563534 764352758 997386309 307419459 876647816 819090569 784160926 957064503 567686818 171808299 287733155 233759643 185008988 331329953 365256876 134932852 659519669 148164593 748228829 788869255 703402441 186202162 743733790 265040677 772019178 292994399 891363145 358428912 938124596 427769827 839767975 507736905 821904196 460576210 157413222 908091125 150282531 628693675 694121698 210337847 759338377 426514433 570509750 752791953 239800056 357641133 302726167 472668684 786889082 529480290 103490836 889265955 287026958 423841534 659913811 303608976 928595473 375817160 151811853 969267787 618309094 850743545 149993460 909027997 500277856 270555429 887762886 338074570 843433262 523527311 154215543 706103712 296053954 580234220 897961852 851306139 328772457 139397474 264052066 726521758 357110511 137472505 692097041 781440507 721492672 942084660 879404934 863735468 404478039 482094314 802842001 109031182 373277663 103408519 633566362 400095227 550748927 349699244 159633897 716694121 723401507 936461283 656650053 398398743 256418758 625423215 977694659 346666684 398112518 418911394 852634244 689508130 273853208 404093594 616989615 572004539 303236198 864944456 126028506 733507239 490680504 860761307 184555917 606540988 286519756 948323170 793968942 286117166 512336336 662543342 432418280 404599894 672981709 512184866 877713604 427208796 358198160 726107680 489466923 680071013 510164442 363419618 509469734 220093015 572908203 910502544 608885776 162610778 604610278 115220474 581375904 230454512 316907275 101058402 310593219 583724396 575423678 293347088 911352418 131247821 171849743 732733646 715032160 829143202 819913221 835767347 915557393 591553878 232287527 496432852 400421604 243496928 226881749 903828706 570082303 584722721 942278321 371563808 565489509 378572034 939125820 641547643 931665128 763103007 274839608 877863566 469855467 310968472 258018615 317956190 878245169 805844621 321598931 973281153 956392526 502970274 663075967 399830741 536338536 257272821 455305576 601639390 384299064 861158675 889922921 853831527 389729077 616754790 829600648 674001600 831288904 948031700 733879898 703578479 146946908 292329269 471698266 694999032 289646060 977420449 958794939 257269894 982985897 499866992 664650306 244609879 854320484 768802265 988423685 661826686 144675535 430080796 497455443 936262239 519568757 617656927 809861778 791292143 763898399 578394538 584745060 439942164 455795648 144855134 862977522 133534555 127135581 236727513 908163141 286372879 518367131 682396969 618983366 318749745 769492307 670453740 383427422 382156677 898822282 987006997 683911607 781362306 528965651 390096919 400960805 482745070 145495396 371532465 447485686 600247633 467888341 966920426 847832090 977888003 881030098 510439524 245572066 808568791 790554370 114937186 255242726 446842498 616200663 167700917 538707291 658816203 277678081 621195742 842212968 833462617 757730371 721843190 439505846 936345084 902370342 808716247 384112469 245170492 199806078 142805101 358437788 784013755 453244089 815779195 349568935 525303586 402138450 725698444 766090277 746442799 847507488 103337742 846466146 207843214 561865860 223402550 199705050 832498031 302772670 227681124 968192394 646614196 702885461 279054529 842805979 903746378 686116128 820367194 341736684 460579258 102674516 102466864 565552857 180121870 246249062 856996765 911710428 255021438 618823131 878614997 438900473 822457327 699240246 852486440 669501346 177114621 244403334 309642012 313340686 616967483 485061778 723702025 906660667 821706621 293876221 538233989 953818819 292845260 981125170 827317256 345411582 961694171 607906892 153785668 829111968 544331415 172280352 427655480 811340351 125991905 937424198 190483095 187549648 202359424 222779127 896243256 399057684 653110976 300200788 401192245 677352616 442161927 589687389 367887169 379557380 991497790 702265105 763253507 582728358 137537360 497059397 615244914 376132596 754212892 586199862 114864426 738582947 339200728 509731703 475043849 457648771 481902007 392502871 869088715 239977324 539868268 423771787 801580921 835422523 594574379 521077884 955004768 423138158 598494669 175431691 244280519 263182026 800412799 423622954 369929336 780216565 203688921 636294706 470865284 600845251 476777326 455746681 400294123 582049322 621607703 862041007 592127484 889962413 950772406 184977624 556284568 258905468 864215901 607332071 428962138 616784089 512436651 105584325 404373444 943409020 483677766 634282868 539388675 717259090 298017859 835880713 850823602 961730257 106581752 402484844 583130132 200427276 914697950 596140347 909571360 955426583 637877845 255804599 480436321 763861172 276527019 341691196 503303038 637501234 278498777 713503698 254508892 890718837 469660831 175670247 678808201 473224884 742629958 167529923 235448618 790571379 547018499 596615304 352526183 187709046 348114141 246928969 778329334 707162288 480126094 303417043 761833028 212486526 420644117 116634906 946476452 289819570 546131217 235317202 802030177 517700613 532469783 576837302 133134192 157159453 619263148 352798442 743565225 855632375 732950416 283864240 258381923 105833804 620663124 921182783 930724585 384775734 223454155 561211682 118913206 627240296 545083375 912822139 281142508 184964659 748673973 635553962 221501661 272127520 226543547 571468370 527323237 921549032 397206132 639722427 129673728 236750864 470028627 985029566 771050337 716840208 760098738 378605763 757067453 750577989 838282441 337364857 953098248 902702071 886857416 461177225 861102485 847209412 824388499 289531480 132050071 592250820 968964800 738238952 969193236 551738769 706225819 466717473 374941397 711787520 515492356 897692173 604426640 403780266 690407175 952227547 252807957 137339757 453006172 427874909 544782952 151988060 965724884 135583979 632633571 711538665 876173034 983499163 595973173 477056080 822681752 544483332 979266638 863397936 766187486 109153210 105082099 117273600 686351562 576416122 871289359 917711706 391935736 127027584 858659067 775013360 875054898 601308854 176029244 304948527 573266344 507775646 551690183 954965327 476131636 740227386 472780747 769848731 729437376 387407728 269836713 412465475 754858955 258749230 161207653 316266987 293367374 575163664 535572571 220802380 280053590 826218760 404314513 469868209 274371262 542128571 734139980 343450108 834358302 349868517 538572924 844843313 551964717 419966215 915123713 147363213 198044118 838151963 841102508 663723680 157052056 967183359 547833353 939496800 710571770 395535778 211306544 589950596 957628520 736982719 962293806 687645698 323835354 792983063 398847302 734776498 458348961 157997855 589567212 793150240 507095713 395816955 115058606 673429405 314793158 661995024 414600229 984548877 507200988 456243553 367512561 449404425 805672929 291113850 838142465 835248611 565421953 863714103 469165237 445628206 875212459 960196106 590478402 706545472 793019697 493654577 728470614 402330050 794051801 641376625 304409770 856949994 385639333 376914174 651729348 612826732 280895930 319543764 231561684 956900665 543623652 609226930 178765742 580230718 882716022 609681420 160259219 211692726 163214820 651853836 456878005 740875358 842573227 526109362 745280627 358869701 599264635 810358434 627990465 703141889 958308573 913562209 965848173 734042138 797594680 998159751 439057577 210236333 255787150 601462284 913001470 961664952 710724167 790843331 945166798 219515084 396562884 802683917 841286850 204273285 572896769 141452929 146788970 419250901 897531916 550217415 217861157 527434499 259515182 116890631 629842202 658239616 657582151 130215455 301987286 103124567 974018827 459928220 659035089 288481189 764699513 537870140 667262237 531671838 120408299 913551241 953420847 241879724 593132788 337444197 428404632 628183751 376290340 880030741 778903346 908245279 712503368 642013421 502562373 328363871 694999033 560793564 652500699 134117074 863927695 519102601 969622393 889581179 177978242 171463490 243407072 271231130 497076018 374104077 825383895 147525708 229313750 155834576 810325989 433687353 248792844 285663030 516182131 739047913 719926977 898287487 299551752 347272683 278536084 252928354 805386452 769512607 322310062 669644407 374016886 183090202 112221962 275727003 543260711 842575783 200685093 456882543 305415089 648991192 888344422 869922647 851173824 449221954 733137237 117029035 258263106 143225285 294487108 535885194 941571370 425251574 242738980 630869400 466457850 749564653 877959199 739970007 773859762 970780736 658262449 828923663 284472750 309140352 843809242 504202357 578826990 818156829 905879440 658953831 796928038 952375418 224873528 275700530 534375140 730961215 518796565 943773209 954828001 661032872 509095585 438691907 840314256 716672451 454258372 604434989 206330930 391757284 640127484 908280468 291515901 442218364 507044535 845287364 329249549 157593644 820829652 136568075 201581961 863662218 506283591 750959416 745944070 593757396 257944746 414157353 405420226 554667458 412637608 116555700 997283548 983604321 738458565 979210029 302399324 856853594 635144454 692546095 582326908 621151277 223784350 460026391 972880528 748531443 258837679 668904269 712258794 686723238 217537128 977869491 260865582 991961167 676164042 163358715 113372156 874193637 876888110 234420319 642871389 516085876 388781901 334657401 278131351 141011365 503905816 174632419 285031510 411383880 866956943 479296840 116062544 257742241 851850291 186557334 972703120 372537369 428222418 490953449 204330904 911685410 529146125 673145295 385441551 146454423 708381218 513026958 692550525 144855539 361835600 690721174 615338787 735891926 509923229 939651069 188607343 182316307 382122320 907191719 188291787 644655261 369115047 230505362 470900804 220785850 716294389 611537084 936750498 487735321 653523558 208600843 676293042 795149597 150052327 656437381 220864232 442742194 444050390 250498657 525317663 623291952 912289028 265813682 914910360 407936590 709408610 799418382 637123117 771795879 284961105 829467923 324292464 133348016 572861917 404261171 311571723 815003795 257114089 238434355 498218655 973712968 207298274 109577417 187953161 968725956 250482245 107263980 390582118 416624869 505907781 817124130 664300949 174964543 938233664 987654078 183145900 577912319 619591775 812721253 978274469 116616802 151752088 414738478 581945679 527640979 645403788 225148733 302627949 431536492 291167685 754971838 134761537 801913567 600364506 151627096 530517030 677852130 472467082 941892018 374015308 875808938 735381868 877564242 339386794 347363007 868924686 857823818 358878880 321068302 930230521 275842558 293676085 432791339 719398890 744909549 223283087 184101402 685207817 899101303 594709052 812815653 557504515 149594922 232328945 631261240 479845964 836193793 174484882 130762044 436860130 993870727 500232914 721120156 418549094 826547779 196048294 895731745 859924661 567860625 611521419 428286810 820392989 444418605 490424439 888399876 120922939 138357586 571486544 774190406 463240211 420996740 216861288 662856174 621383314 893412227 591042498 128053970 746818746 583562857 414723472 170913893 672161917 894789703 493833433 763806222 555402279 609022585 512868692 758272460 442977385 648637811 269561000 860913112 599756045 320659590 294276081 940453280 145045985 138586830 482016816 752731204 243777004 889062445 898479770 181483558 574235966 480724792 629744096 523183934 327191948 487619827 880855562 451471881 488586829 283905694 703923171 949028135 353232394 365595213 758896788 560537453 648492898 842027676 638695262 319732836 751402699 345028920 895782593 923858757 153385133 782880933 507337452 479333982 134183075 352006616 644152414 500615080 896598468 278769518 573597785 777020105 647091768 695198870 206292966 405456020 674790649 341228599 320903431 429348392 115678405 655436579 814723225 738304280 834941083 593396509 708618478 212244995 361852508 215660772 360944699 550675566 624111507 926915656 460355758 324371273 240647114 942450953 806754924 193673055 385615904 487276122 857158321 286229441 755693213 161290414 543309355 751245848 678072956 354508900 917093750 508802079 688060153 935847503 733244584 936586933 795412828 913551975 767326201 773967284 636694609 892006189 654085031 138616311 790478677 649465177 151228613 329184609 295452120 594215054 803005303 386630409 715595724 980423344 322387848 279304635 611872180 534148540 608811102 749910288 664296308 177137807 660010899 208974670 645602469 597884809 489832852 964231277 840893527 139041010 271048768 616681331 404728334 109245362 492272088 564182551 536809261 108835059 845321840 156251207 529387888 325726818 536957981 286451717 254721074 389281264 436850024 509390235 486080610 825624170 944355073 976585475 198116077 558703173 275500634 413898841 821768576 108042884 798154546 394128792 918092216 916605730 548086259 849011767 116120441 737365591 213559444 408641899 302520624 590584750 579158949 502472220 904026780 814667486 235339764 687554949 577932008 206160861 203792965 605619088 799326500 836229352 179018449 573974466 286975778 303615865 116403940 613623759 796833602 353119467 406837112 684062947 383375888 422393923 959080849 100234164 645720005 506365205 508147522 207233998 721127666 833315392 404385461 171471117 610125481 210098384 986491485 133480623 119217178 977947472 412440985 336567934 766136453 309546600 409896751 802391673 914839969 969944907 678438166 196783948 155311161 359765517 374200656 813775924 872926569 312665902 206233872 316793633 873462488 706518416 168448186 334306217 868083000 236480061 883936206 885679373 201103328 471804962 501693219 973752702 926058771 239444041 851208890 706062497 105994462 972041905 151831758 377715551 721069136 298196997 923496831 737983066 495860271 318117106 782776987 848454335 612730315 971721356 307573243 813653981 960520243 260398147 135694050 192853357 849003762 607881810 417448202 674935527 508443553 854505464 539833542 827925422 418658262 405601521 816906317 643797481 393714857 986271514 881101183 370756546 371382414 610877886 403694825 954684913 714224871 254050061 910909997 365281647 719379438 402141625 268940705 398357539 492099942 856091644 100779046 259319620 216866643 446669749 926536818 122696774 308122379 731747443 106241895 201733631 105222748 719987677 658597179 797311506 454957234 578351333 242884069 505574859 401054615 542851282 407875535 124067226 607004958 481805547 568608096 332470916 667798982 968410088 122204559 876631056 105921014 693710371 151693452 878996746 988951054 805208993 140673213 961948927 839939904 694012006 495210481 517390560 740841306 457055465 351502984 323333336 842588668 886857233 652687945 580181781 178091716 992851333 593443263 295344548 382891014 762349139 518368616 395106647 164507715 302701449 491864811 610095086 157898423 373937980 565402119 947956302 127181176 758081676 613482478 939270637 794806270 996670794 219094944 273175798 434607260 512874369 617600093 940221386 418203587 819764468 454590201 158721682 430603539 429404227 254203747 779080788 484986576 783160801 374598725 299920796 489355345 986485609 356850050 436718104 204501002 741885183 389405388 196481044 477200812 619388758 172943217 822809634 146515644 634406593 140321959 226814673 259647357 160857208 925889138 417408580 847136922 860331798 445173762 181282210 969645502 277220233 287398117 677364735 414485762 861062616 669384808 335391365 440964938 736912343 819877113 165656214 577297096 307036529 977431793 991200106 757578301 204816971 748576838 998821397 876639036 387690412 296282927 197328751 291266012 219328784 717298757 320054640 512934745 386811089 523981242 740529258 306875282 865377819 410866916 645581397 679361947 886053566 212001113 618911760 875294160 939191157 651772153 648483248 921974738 966148722 943834592 659508252 585362625 272524775 118515779 561093936 577205086 753764445 435548541 507327816 949171584 266442635 245189255 844234218 744841863 494632131 608587750 292342878 103383844 480764924 561383382 451303860 214913940 364847821 341160396 162878646 601100006 340763191 165136776 298467772 887957983 391798580 321792982 878182340 938922231 789892615 806424491 459437577 351155578 633353389 165271010 429805346 748341063 396958027 298354976 975961067 477738391 189369295 398950618 474337955 223406783 465863933 901824110 110829026 262301512 210730137 758433808 529287381 464243314 682478513 157466557 504065716 901929816 556860749 383582739 249751676 164850195 513190643 281371926 986732061 202682622 495872789 237797765 588589440 918460491 555009359 360178894 940271747 279178450 873625332 120400270 726493468 361821954 571466714 196195518 291883956 614327172 672821743 515902050 343115092 104748560 818757293 497637108 802454110 700087839 705203023 164274704 986431169 437771194 960087927 877959839 354957548 895421638 352522136 369734164 928400470 544275334 141182801 169518976 351386940 994954845 960954590 785334918 818635511 414161510 495070662 713673168 170741329 698178678 128690250 521235741 574834169 251245844 914641203 129863986 392197978 960202950 218426565 102961980 756699700 746666939 505620848 572888464 522952289 274886153 814881108 832110009 800930120 269107053 209707343 969071127 520707759 740559405 105009335 995024548 684684788 385081760 925906006 949470985 239886436 129374878 470499867 957444188 740975411 780685710 779949653 243888085 574309644 465650670 912927346 311026568 996298175 493841740 857079997 685402872 103465598 389153634 671134010 378681941 570576893 185702119 143334329 178321811 514664788 377293315 820773875 564175296 874854286 511878263 431003908 547010566 468685450 644530533 972485195 640006344 915734704 738770400 760849585 370449515 475707268 512655684 625564630 697065878 385453047 565324109 193693556 138311635 505187928 602714766 816747970 532269812 933099078 886146021 415648943 397997033 607005207 226235972 785094003 263443997 625574619 884223673 483124800 499008970 660276440 123105045 630981338 609832017 291202439 622177199 804656856 333620348 132536671 543301191 881351889 561148633 564180838 332586827 537684047 591007115 425154613 432329468 866752057 281660258 503874455 166707342 403933224 764086681 393526150 365311878 673358662 964859627 794315382 543622348 412046413 339102367 903275291 471320106 340760564 481053653 312653833 289650501 566953051 705191104 139995979 210987244 560097522 182134734 413718644 176828443 830006402 579150732 545409499 146881113 234087534 377559609 962542530 199883461 734001739 784490607 859110552 437401059 184089862 700261702 455023445 357028093 638528395 235146602 155831108 879209438 916510965 642949887 727887204 396929922 402653478 993435018 504635468 855603134 338483333 874701359 309435303 781730999 500202143 102326821 854402386 554385360 920553597 965274802 695144130 836866939 787305657 998801920 475084193 453264395 616711737 632334162 962414320 163970836 345104433 648643746 731834870 249104584 237774304 970130682 946951602 913323969 668916989 232795544 927931268 219384870 883869648 452325000 439491714 461671162 746443943 456040170 170916545 117391386 519594921 493009894 393020375 629192070 317850364 137838409 419655114 190691690 273631945 599048702 558301598 785852216 845347893 228868383 834198850 846449395 420025541 590711822 741085941 552708511 268165089 368720979 824836146 198503420 120811088 943497511 200391356 462165688 185985194 318920969 105278934 124066866 343302098 537136593 464307126 323513541 961954561 418726863 170265387 445897354 127219075 512239890 151335847 530809741 640569391 181157019 434830002 921351740 873506242 223664446 555572857 518018512 324204193 740041071 659681151 651511791 722107192 140435751 999716758 262192776 844920583 826608053 130206113 928036526 112379249 278016323 918561552 865400339 907972136 675718139 167845009 352449907 965599034 465993810 434225192 983607781 127165401 160684973 827313988 243097309 426731526 983044224 879961488 575684142 844272504 442468242 687611750 729599877 512924820 250975479 392767409 363746389 622531237 401593196 737807477 188445131 923855011 409346901 903769527 301802141 616466087 104495499 397895698 778787764 936048298 271277862 299905722 798158111 211851599 807805012 337910533 660859937 961639844 516067120 890768184 377613991 468796161 482257850 593942782 800965396 368084041 257274355 264439162 472025924 493111561 494907251 781714814 950883444 677481681 599989544 218890256 744232154 572831419 243388832 669870340 745192516 649702911 938340144 128915227 776519759 201912494 124348431 350319401 987816251 933968569 931399058 739596557 957341414 491550440 855256431 217043159 812090710 432803201 764297146 732811886 993576047 985063111 334992214 432882988 159533149 465577885 907245187 960202860 461894319 963000403 340191502 225044354 529845609 424126004 832295805 873366505 932326369 565801207 300100835 872861269 522320559 109606332 461668984 122858466 112095467 919930210 953266722 766734259 111288037 254864360 421288913 500860044 172661885 600097747 335261469 611304673 727301160 726492624 271255429 547369725 800674841 150403299 419756347 745265663 234648809 662127023 309783158 795097069 960546353 562924541 971627408 415571632 481243522 972525518 173905891 560277543 448171278 887700731 805489270 435906644 727452088 697670630 851232452 234051080 535152140 516391989 310397918 295314100 652925193 339508083 540999295 557439487 903810620 795488099 893075050 186438490 898591783 915186312 248183936 908654554 414805823 735264739 997595876 279890207 445207519 683266275 566554616 234763324 725771169 854426727 637592223 328634477 350965916 171585885 556497120 669039815 529101252 138435309 102941988 462918320 765917096 193473862 700891278 934188242 926574304 325747166 331907689 540077603 419857575 375094274 922191670 199144045 580280096 845650578 291612510 703180900 761657002 334917916 557027502 801138463 331539419 647316364 565104035 195852719 663606369 914418171 378841928 612977051 742742742 471468135 757327251 263970622 191439984 707599568 796051869 808548916 441495194 784230688 524259562 627910837 494326303 174228938 266781004 665285535 197935014 377543186 184026364 416224100 964902890 968586744 391916971 313192925 994687043 528453217 390466747 972334401 776433755 730169796 101234216 849072622 527595568 900423333 425511859 292845753 248233671 466439468 953424006 374302916 640224364 218224246 591372746 615007614 565598690 580226977 516169435 331879143 858652358 188854150 553562708 895147045 987733816 800284253 789602205 754542888 888242894 388591356 534035331 653455209 184134601 435771687 665213395 323560389 580779609 554648186 555386065 767602264 832142748 759236526 668683286 408060609 424383674 134374363 452065778 884278071 581352405 487021577 717939436 504031066 174865883 537621120 253072578 309200095 536892374 446110982 941499365 713733833 926150681 445786125 613278325 214794453 480779640 556817296 551753060 473670316 993734461 109731236 658420181 623237450 621829234 667611835 138999222 603111905 178814024 972617358 381189446 820508382 455332375 306758942 707678048 441258476 191686224 444788258 927647487 895949288 388385685 252598036 849286169 201902674 375788050 708167249 799766453 224478008 466117664 433586384 988209910 795665195 395376312 280142322 156186405 732635905 264578847 282499618 434021612 626215092 361221815 642277110 422436822 166630416 942734885 166694602 522273284 233048868 520131992 164449991 745374241 184615298 768021776 813028073 888168628 122498744 726768704 534586132 257285857 578326292 693907453 321462243 749289274 866954274 461658145 907862649 170138470 256486296 601418266 694491689 748844678 190229188 329683929 213846569 586334492 147669333 121979333 287491682 138598519 487336852 828949560 815609485 253433128 696878426 628490680 290366431 741727944 360229567 758095043 115618444 770110374 352109486 519299022 483758715 164021455 264529140 494781291 496112224 968859702 161475409 633516788 584406352 336588503 282984719 146666083 212069333 833959403 647592962 955720438 420450943 921212135 131576443 497947576 784619496 954972845 117889626 582605584 164227267 977630347 129071621 459665062 881506651 796661779 790575409 108006952 761492266 198497783 306858783 658368068 340619281 279176060 329117526 781429488 396633373 148543243 473243668 908429172 638743127 812159897 907270126 736188466 859558115 575036968 697010872 408292215 729776454 110198282 197801722 786619193 689859370 323561379 693790049 626589383 775375368 833836743 510103877 970871695 972444266 802382396 837822741 274426487 615675653 145093636 575151024 767799566 918811746 442412738 371767359 547146254 605336822 271775298 559057506 556294297 957335916 908983804 600717101 879541009 409750581 564775100 784098162 992016321 152423192 380165558 749725058 222960669 985611204 781081910 972564398 387404796 536364930 622670264 936032234 952010284 958110967 335735716 559093992 473846985 720671928 711944411 854275894 122702257 580930025 686556256 967020489 230155507 343548108 716072567 755864911 618850703 847092579 516791622 851741090 706421232 811704269 804668387 395885905 895852607 443138593 515988818 769840547 928006600 453079033 415319418 331337247 345778686 787097075 486050796 312603178 774021924 354670164 292418368 705516543 822056452 896213238 500854350 484405374 998704158 366941303 816198740 299127849 962694398 203958978 752196964 671177960 770104883 937739311 752909198 597261494 405062912 854525874 395598789 813888852 269624746 582323409 519052078 138584972 142017093 476055989 985821377 346651926 697553555 354497006 334568104 409649255 543731241 982088259 899695246 172526834 317638946 870234024 420707537 410558843 908216757 213421724 615969915 123418909 289073689 480765227 361860108 292793908 832052171 215561798 112970087 232154311 970776143 692482143 508872563 481437790 547841987 193044034 576180662 199293719 556868235 484181980 369259544 353604480 869633421 814378909 898353989 939212353 625049517 120590527 333696096 803493998 282869214 592800167 780507835 429960404 505341509 709500247 694690712 279443870 954631826 904449349 142674113 906853300 411265938 500789143 322573191 236646024 776395883 812195217 244380300 888206558 241335380 204405003 955521970 466315870 680564944 176868741 983334975 635657487 317778669 898882286 719719004 446706398 484251206 708719712 633894511 325322752 811367468 788880160 670582270 703065296 578411534 448463849 222975005 754088406 821366729 803888719 135208755 119084150 734949182 342837405 816476930 204576602 675532514 814290159 494451085 177886789 306710778 198224539 649996139 973536917 224428772 979485309 130603429 614774471 132745890 155142787 149392124 958257395 585924707 447432627 745093421 193246728 625005892 649720714 480746104 577503223 892543842 973093176 874334445 875247576 483307553 658411508 225733813 538478161 299794372 461432090 822883725 683637153 496231289 144504050 467212567 604383899 555357877 593552355 549193660 203678552 648968032 972307394 177638747 934814403 931324074 765428244 183367388 883279083 649963052 227019420 154360109 920232802 373683771 772500296 769244711 790420530 149078185 965123093 870006374 639429733 973046092 350040214 856870427 880007763 497947191 899893957 382426751 662690582 827315268 129667329 795209685 399720696 158251324 991807302 298664500 355227613 734895301 655074780 305994967 497325018 393364805 989660153 739562117 640690120 606633606 835322650 710125172 915024118 868224525 738172461 482144670 923222544 379341594 521118258 292284205 982863869 959025116 627020510 867661267 472828685 257529390 758058381 929456287 617629758 121277377 657109992 440078315 739883163 144992465 293236386 820757501 248254995 981454518 691730874 127807293 957106144 966144450 324544945 456104586 919178942 253037294 281166578 778793419 536683578 794265249 864017164 107959399 159946185 288634801 288398065 198302416 171193259 728677136 628497781 993009228 288885802 905989101 246128334 513160244 848451463 194070234 476436862 361932634 532227040 876887809 696584785 433582469 126070814 237772861 168265432 310707437 116298630 947437961 143321377 579264827 216455221 339519150 273451939 785328215 369277863 328093426 732352149 404871848 575516717 842360699 839083166 604812246 987005256 401919008 663443634 941939368 708133925 440186596 185354505 865752279 328800993 584567470 586936086 211410426 270772428 122523259 439281528 419114264 410618901 146524026 128097710 770639295 178572432 708237391 835065284 380537592 925741391 589009861 907434434 523093848 608215151 465326433 672919191 260629001 550368042 826605330 479554830 856646743 672707209 505626123 298737984 800468673 581622709 312408455 220474577 154078298 722308811 873562474 610212657 909012021 777874398 451423604 215885255 324260564 216024156 967245400 359137633 808407896 114349461 455149777 785575617 334498476 251330475 743128930 626188204 259256931 173000006 674046206 466916020 102213591 900792263 479620931 775000162 634501442 902368454 739566156 768955116 420909838 620484952 303339320 443600187 765445381 330580902 498556719 100457031 291104734 799122147 701401979 196042266 932025593 930356280 722159285 110626291 399013044 412139262 804087358 192503965 635981926 858798863 175372535 241463848 267025266 359466712 436017384 285815912 270611156 890964538 228731034 356059055 316212383 512385350 249669685 484160591 391448535 737870775 729283246 207446328 321406761 585882314 324721506 511419573 805991381 658502023 346725282 562597222 644789278 362547865 679085315 829764093 426398831 473956302 716280187 299857589 814681621 935107837 353472865 311711008 141687110 848494068 836242586 292554074 141986432 939276071 941768707 458601391 996415230 611354893 892277154 286609907 285542416 514705816 529776115 350479349 816788847 755763509 983544570 901516902 943434146 175707559 695910637 214235468 648713309 641096215 735309493 408301768 891417584 719152317 987379209 567972200 198423937 908208232 598394704 561827672 752312136 451100939 459024953 586902100 804025787 332645829 717580406 699282946 919267219 170469597 543807493 889114592 814764615 453007674 532206004 153005223 478503626 772343736 566858157 281040579 706720942 344024734 408703528 427719974 813672221 381709401 254004781 643152796 923616214 961252983 454746412 537293841 853354097 545235220 709753049 749556224 352261960 633460841 142561364 456762355 655866375 466415835 680784096 347427810 746010985 815333220 945066436 976191518 623864888 206971892 530364737 127566442 276692912 988917692 959578745 629365040 388329241 554665627 836920651 726983595 421835921 654729553 619678502 913947183 672119757 145780277 716755415 589513017 761798518 677401784 565388960 813620151 578704607 971460706 388650084 928124382 543258680 734384909 126460791 144981744 462966039 235183392 519584257 315069681 787569249 745502178 102072683 576178378 805668162 459931546 130055263 718233324 772508816 731793033 133622321 531251177 835507642 936458819 427473705 270556631 501515360 822205458 940445441 208364960 654201818 437450261 258743176 774507513 360037680 104619056 978184664 960167842 493886374 903314771 713361837 584151712 200057277 543921850 852792810 149291304 352670757 422715269 696448553 458854835 726104510 732367912 373398187 334162315 603387886 351975824 870457362 768356726 997976512 942234075 846871238 327285382 461874408 559043145 780354499 594599195 449226361 219824815 787813249 850099524 813781426 692526169 270306091 580801142 748419930 894961935 261068653 161858818 399736951 459158122 654322812 861948945 657661725 850345632 614235825 590159938 864749459 287230150 596160192 976142843 263712420 130637885 900655235 218423419 783119618 122200362 131218154 359845732 578184557 451767350 859911528 648290900 379365069 906891259 527058584 139295013 913061588 714078930 682417159 673217313 133019032 552378377 394749393 932391896 892448392 282349021 704911251 767746179 455233673 260757396 220588992 398509535 715661298 850561995 692157653 647630611 872344246 420774465 204529844 658232384 264663349 881211848 200423575 571583749 221900229 362043814 290480397 784180724 483173462 286570585 719963324 749636757 195771114 143937057 203397443 778498515 793136480 860492543 626635861 104251780 772686010 426696021 465750728 102734527 713866244 629521759 341637964 577661908 670984591 331642773 401714634 357787367 605933181 925314391 692074045 474169995 562414036 130628285 498314938 845374374 918904614 878785668 245677093 564860173 916376874 117668896 642522747 288835195 271566521 723278408 842580879 558723601 956706151 307585069 592410007 755322679 299698013 663691212 178618840 156007451 250295655 918576109 899080500 225193774 406108139 199390599 512506537 662508464 832070639 323258638 900206026 351279830 908148905 433562258 667306942 393429758 725361188 145028040 618459734 146260734 423971343 601438437 651007504 403414075 238702526 346664018 301000830 672121592 548547204 604213893 259430590 126183544 995524232 297656007 767650995 621391184 832061624 529136323 504203491 382298125 608342924 576885621 552387098 604628979 464017036 921349781 310081338 753112055 285696069 624727693 889599591 625219554 512516903 770977521 623523383 661121705 393901126 633260106 840799911 147455183 613805968 666075087 777220247 701192541 368102703 999634597 528927657 736587755 898488109 829395770 252013475 600543578 499707479 318002450 498726734 661328382 897924183 853123112 638375374 656338372 754757284 186200129 639641208 497296513 470257704 456868128 979922982 991298410 778580114 953186826 341007241 870589720 920270759 460155925 965500952 608939714 977379040 336975817 615909564 621440197 874971625 200557831 896409240 650543108 445761621 516886189 205374758 422600221 741023017 561673431 100082928 809990612 431352420 945958487 189875768 705624776 498978327 819842831 814799249 617297164 633330934 694349816 557902893 466834165 135665266 502931353 734527141 410261287 323505478 760733713 848160843 591420723 498211917 344930862 224588604 397752982 939525004 326366120 840982033 142068978 791778402 324238346 731705274 387421414 190513122 993957803 934454220 401085766 209073024 664295793 381723175 679107123 227603833 223134622 706753311 744651365 117124776 562419793 308216156 306734660 565238881 761719539 534715916 930178453 660065158 752247863 922137443 762266991 158578624 415961715 314854746 517929814 816067021 874814719 762389509 719277636 621560806 212350159 387174586 706202728 516938359 847960646 702756479 454465485 222258407 460919404 789563508 478222620 759080084 790766470 631430248 170772704 653490235 281636779 701851790 796561384 675578790 473778736 738141313 127320092 642798290 465606550 821917816 580630647 682685800 605078564 303093310 301198345 734703485 584354239 189585046 678881909 225940199 916976373 989484140 615422767 471469764 314342593 400994090 901854093 148282735 194253548 465012496 963050517 553104393 541789491 833976765 974097904 790060009 643136489 357006701 707511224 813050520 266136697 333573944 395554841 545698389 108473523 523181634 220692986 674242722 944032450 332957108 781787720 739353373 984920043 760691145 675820766 899274133 178181701 662348721 553005956 215519109 273194354 126817878 101758320 819326270 253014753 738255709 731521825 283165295 943455426 135277759 216596389 753609317 483921454 497300581 820434972 770604398 541595327 388715997 607478729 235208439 273892499 950941152 470421735 395585388 926785294 405558056 785464481 647595128 329566291 818528796 357736442 296117249 289665330 655727212 568859730 606860140 350626286 778465213 505581496 888312506 778873836 817648866 962875863 721136058 626849013 481388883 883221375 571696280 505510072 249565485 852194576 342539468 596128754 712446422 581902455 475257658 912271803 198682727 241168559 343827010 191321349 182158380 643185338 701442376 569793605 268978905 273863056 508729192 855122877 950133165 776735025 119278919 143713031 961338254 313434460 848052825 468246622 900153108 332561838 463087327 688487758 764177302 356389310 267269464 525278834 418126725 842072077 443839616 829233785 859445718 956868735 689194682 359131024 504926450 397028768 947905428 865630515 408330256 734090301 449787807 672629267 560514016 887914580 290815890 992435521 613418301 788048856 282544270 290457231 741570591 217948347 458838748 569452248 825370051 258923335 442937271 667629029 882468769 663139114 812986663 354199272 719260459 775870837 447293500 100559859 666279974 378760132 978158910 828445483 128411182 367541641 431062709 640057566 212591209 741555009 265350298 373844985 755292560 504776911 789176432 557884184 488284168 594076678 286757853 199873400 306060849 869755435 215898727 581181793 673294040 765157059 175763893 276544850 973627770 818453709 288634798 587975463 498646048 202030236 530815999 877910440 495213459 694120996 107718232 798483233 572708841 696747410 701517259 956952633 223042224 709166008 718368617 983076380 262241631 989026353 207552895 596702733 319184503 572284127 947741973 602225556 904261968 221339065 658744354 579906080 515260126 942965404 971021643 593739596 735037594 151786665 382503465 626169680 562001347 805991985 264042614 326284849 807278856 897567062 217162256 341493536 675963650 897710702 872509492 668850476 982129667 909346477 899538075 826643230 724262019 879543459 887730943 931668323 791470780 618695217 734724247 722537753 116781318 632584705 387602533 991732034 450576162 167340152 318029664 759844218 835703216 129644888 125915982 102759457 455794818 812866351 527781010 534192125 909127589 738198186 986320108 530085255 393740916 471804172 653351067 194401697 234991838 642502284 831406190 560404923 980840223 905625400 513979792 562538791 526244079 737766392 717023474 192077083 879075662 920345340 951857730 539664337 891127621 710247675 426080643 615372557 652091583 970084306 469187872 940250764 311501888 893138517 254188216 338975173 266090189 599984390 439281708 571903552 993244414 175515420 444181197 843307001 253936437 366551627 137577829 827321362 411047970 861522857 711017115 925191644 716958521 498316047 421158924 136730669 737382361 564750604 367761874 431482632 894604548 776011752 536781421 128823587 578860135 606737851 399263324 900327783 304782041 851731867 604644550 485442110 202265883 872033320 964932801 523764540 553775291 389292351 601583450 728420961 789134864 692907018 792603716 283922110 599128847 872468555 851100308 867824605 170872319 305395856 159392558 131158961 371935801 812994204 962469592 312061976 506783909 310198683 121747568 739456647 840716594 258013454 790331567 237106148 438279285 767283036 192367689 966588462 380232436 850109606 972879120 306151382 621754015 526796668 143652849 590116624 592096944 900264637 756760942 999472263 350581388 305265240 320020175 327376502 447385775 362451533 982928961 889255008 245457113 821790362 510630123 933287444 772173464 398032146 343731727 661284048 501441387 640359672 541694434 483754705 600299622 606695751 598623578 754031326 297739147 852809239 389565641 372439832 583748037 871921454 977873916 108867336 435999611 105865972 860528373 165882924 583416327 496774388 868957304 407323479 548476919 756078964 857475346 967982568 796156940 187313420 312775181 660463253 699625332 173875488 743056257 824667470 305511273 606482801 855021739 804626254 713453595 521206260 914000860 472480574 822586892 242424603 895391779 243743757 664306466 448552484 559673429 658967099 850619699 248587134 402972576 701030719 182281659 903041256 617758039 293354050 824867472 876879746 633240398 497412261 578797741 867219832 683831166 204181491 516441865 356366984 727690400 865564945 917631440 369037925 704299060 409369874 201747598 459010252 366300623 757686099 912358487 408101476 159201390 901948786 994344632 422048870 434354740 891504718 228841666 399687921 446783285 533192927 259309369 648647828 908525954 938290987 778883295 315236012 974867617 520783345 656333693 995340221 182559822 776664996 829206639 675156415 344176487 184364098 402068344 695555857 637807841 778964595 275451938 251674951 302654728 298084259 641387135 540782978 706168764 186492037 317595685 820445500 248955437 593140597 331751564 812701755 876377937 847587269 973857860 360639839 483544964 178477944 864556591 495613490 797392266 840567265 991493348 496076480 864630813 240779642 423773257 342455659 513555008 250052526 992779429 769263913 121249776 199493309 680988487 989024993 469042219 609901924 907185154 701107551 143966263 837313757 771924910 674395346 460743682 690139838 919825841 525401267 785637226 104144117 795848149 168620536 116759707 173249274 141966153 174868656 787311532 293811692 335405610 660316520 279871913 407352383 697198880 871011719 368753750 293981894 658706076 533186048 162898678 868732615 361958758 729565990 288899545 245399779 866581923 289739617 861007692 303943137 604075653 328660200 373137929 945360632 191411413 944009553 302590145 957545009 134243294 467303837 371595547 345856135 611268610 109091499 604087057 649806433 101531550 544822168 351176664 498773405 639935589 492470767 892851837 425631635 772488486 171341650 353758408 494341787 473366147 366631019 985194432 609580683 579538860 790943749 603092022 192068245 710828531 205116904 830232718 663013170 530375409 153877833 473881412 571383349 299763203 417223227 205826144 232895286 906068480 690912665 294222285 598484135 499574867 416249393 690081837 903428754 496396324 520780176 523788484 205718015 651655542 968709257 554374439 743494451 830944614 237432799 379431448 514729461 480649930 948177381 529664819 239790702 200320238 815179967 526762536 781484130 193025967 670443750 597485617 428008777 217065608 395623504 812138651 949269355 536698909 510107536 815547960 839843632 424613585 492456695 819950217 489820243 918317529 261907345 667265933 551871217 968191397 203659169 488188830 399087850 743307455 425585139 305617695 489613864 343324564 936130406 985977812 734732749 890960440 591432208 379214786 623755421 636774422 569900670 687889471 725761139 366501917 259715244 276296806 314904132 254781545 668164726 633062297 900820379 537841823 923314698 645251989 351453169 999014078 570969278 539897101 586328658 675534724 784524233 908253580 500759146 241655638 922059322 257256880 309043784 495689152 502625418 687553426 863301108 616439795 455679064 447863074 788361462 735798029 815412517 992044669 261085828 631898327 249062751 119038367 476165584 800980833 553323949 652513494 534315396 966269617 911003077 537277635 835756192 412842950 972622913 148984816 687665533 442824515 602594824 775368379 503672315 420951401 548891738 599276764 532858624 386664360 678637703 847148579 763929078 454121962 430827103 347064072 441883117 858572520 645401980 190014269 796805000 480379754 381318065 214258763 255741394 647669027 805987529 875000520 165680656 431886622 765038834 695211468 378580190 867197380 936474138 362463497 661846740 253981344 804156122 787443470 911369954 383241962 605458414 589467165 273914025 343256153 531159334 294372790 830926755 675582334 794547019 618923929 195186060 471610337 537904903 148446436 145235827 126013850 613795269 568690413 461461979 722988211 600237552 913681668 156383285 218136942 599507689 709025592 786664528 675796910 663428847 493043541 776947936 884932420 850361442 487733583 656131896 714550994 216122065 296828736 497965364 675959370 782801245 208494920 294147825 788336412 685041625 630611529 323870058 726534763 738637236 155036214 634626122 299291415 499389996 777949673 458200454 630324327 775871551 934868768 747900684 622629004 893245046 344991602 905306261 628403835 921949324 171167499 181630360 517626245 945701320 866897342 857714657 954625287 606166329 655912086 325010147 730512045 458799238 466199387 296688586 270827362 674366467 725003904 197958139 762252313 270752156 312185106 947249596 587211364 109640006 159295831 887389193 956609569 749682699 640737149 628905902 215362210 190207062 290799979 976114045 606046470 597352957 280681544 845746088 928234511 808368794 836561822 218794938 585682849 212306950 260873348 813824442 515393335 475619631 990296645 785459887 603481701 592209577 934685697 555092691 573648956 272017516 604736241 244859245 911376427 608222443 957672322 602910664 208188649 709662356 458405106 495723652 436099618 406020048 214934646 277428933 922794385 263374392 769421930 496397276 494529107 149554351 227728257 238091476 786171645 978612303 304922812 253432343 557039479 855990771 214406960 870958411 537530685 769056805 535882073 807508002 285547198 319372206 779108591 980157977 744379877 691867371 436459444 554219790 971531578 680242154 813418248 844021838 425704982 181217565 300079672 120648072 906046981 528423502 672668814 993379318 334932337 462941312 968087621 749657344 465975972 774097065 521508503 306402962 704814531 312443638 537336702 866382468 395734540 888549337 921608384 552677129 360103493 189400367 363178086 256222227 324210443 791396712 743319698 472717950 950493899 248630131 618072730 979551106 729473410 369355006 492760236 228692848 310938053 151899783 489952458 616758096 845517457 995474791 618386432 192043083 520586750 110115929 182597627 800554474 122348002 984786830 525283913 294562455 630250938 860937083 977675653 328977530 323659538 217349546 522451429 382025922 935353006 141527465 659589198 940247051 721664422 692406502 796109333 440181058 463180591 661836382 796427876 854070009 625170173 215275278 489263090 464725415 157947820 994786002 946629331 857463541 973400913 775249026 373341581 109250513 327571102 372728167 241172180 531161023 711502091 911116532 241542516 440335138 933485680 158226804 902399515 478370617 569665177 251154332 438897444 601526954 389910737 144356039 303096979 568296436 732862408 339798598 898645541 980460685 254769847 228177915 822895006 701037174 193181918 255315860 396752698 129377077 734106429 769528996 706722271 588574058 745496981 781367076 227115860 996437941 258938782 651714858 812370939 247938428 342787254 973260227 709683154 891358523 539672269 275591475 544068895 346171163 245911369 104993249 313604397 390424592 362494775 242270175 711868933 446766780 595039892 469857160 808169781 148983629 522458213 341851725 718710755 540929452 769645601 200998055 832757773 486565222 691222293 448117380 947639173 887820809 134091304 411372449 725347837 312747498 170170972 588687902 531153439 988114659 763198495 277077756 256373868 343000854 698061977 697889279 511702109 876777701 278918330 303781463 128629463 172122045 332997315 236153197 719013357 684482831 632123168 951582612 406678459 652465543 987114882 706508021 822598647 456328640 346213400 802343418 325014895 986970751 213253956 280927186 145861602 146393834 535179763 650083796 989023955 519071530 400017368 263082744 689735143 335846017 668823569 695622580 809125191 812586641 812966436 689513054 104229838 445184164 798401774 697064525 458544307 427960493 686009778 385426785 751609578 351303379 414196748 551458462 366444196 866773793 221811890 565240326 805990611 150991076 193044813 565882393 741722667 611651035 985501141 814728846 852207314 757637073 962556288 597820098 761893943 813425673 744089970 665711429 665216893 823686791 209515421 440228656 939381972 144203874 869015577 434509152 286622153 507474100 782078349 478833495 469175330 606071686 708292734 884642514 154869894 679162813 981858615 749333695 640324918 693650911 181542730 990643028 274682078 577821247 146671203 989103389 703743777 532301492 402910187 858984571 207468311 287427233 449816640 461515755 634499421 780559203 475570075 973724985 700419029 780869661 943097030 329256216 870211489 145770814 754473646 601729089 550454670 379828641 923746980 927110610 743597098 211508900 114245651 520181336 622908945 588230544 117115389 950319133 405570036 650587230 764059265 301009346 349560481 244727412 237438628 639438218 877416429 888886670 674884692 571112072 554884650 886886307 817105828 765080716 846206162 714015445 590685279 141826952 492178548 831440466 526323585 143920302 791385684 197145031 210190993 117811064 218926826 795241312 100046402 693116003 952682370 467589806 428021532 650286977 472625735 861688598 456374008 529307167 703627018 915327453 976422531 392545025 261739238 305279560 848517500 557839205 360284153 106627389 909790676 436747254 676298060 258207567 414055223 898704151 731704347 141010962 112409807 207578406 326248064 286850252 431760042 533394515 805212086 538739804 216995114 397226180 874983376 311479482 715914998 835599311 757219050 988912822 464112984 655408344 793824297 634433025 394131728 790098970 279544972 384598048 258852660 628778197 106067746 372141378 114180290 681815801 410788246 729658501 352693423 720886083 254743554 440181673 164759751 161877393 213072737 897355703 286829815 823680052 758842835 740454157 103688724 139908045 131816732 830628013 806004076 570677574 115612908 300279909 452202098 695876659 562971247 872003883 127500297 560557832 930085193 862492994 118342359 968581774 449028321 147882135 390451187 972912104 802012289 119208643 254296473 153990939 396570366 857532734 127095742 983968733 790693634 840325532 900906078 202780331 498156771 351261021 669171950 206208903 682905301 554763146 191251200 988806482 620019503 176006978 860176018 343012178 426853692 200989586 701459433 580916828 767833941 389123163 875304761 755382115 917555922 715211014 729935326 307484631 389182658 794442888 413731754 880716978 978768862 488294045 612888515 573815154 941101237 532925251 590591445 367602086 163999962 852559816 947738810 151878000 957441190 327310380 303414673 554190366 241547884 366151491 652335541 449862587 247714551 568027038 203798499 831916446 262799243 109617004 639456107 971717091 500792867 407688333 931622606 189691296 486516732 406401148 875454050 659374508 519410817 377783779 204012364 173933142 333153938 601492368 637877495 250434147 258453182 944449454 399816565 293207695 360538432 102408508 966917559 641148219 155591220 872034381 141283191 626218627 650029146 740827339 781261366 566247922 810868119 717103812 583056077 547981133 816998130 461046944 488897372 825370952 202031450 430559907 105071099 286666175 263137083 177236520 997940150 331947003 149240750 196656253 357081357 533337511 625272313 676990924 467738316 758816458 195467889 181249231 144123711 302252259 871016290 851132974 161096834 557042064 631244441 985820958 273070315 735121026 675681680 838544870 569320821 615754574 450276605 742808445 216150385 127172270 392326258 331093132 513075094 896852783 850309492 783697902 284243611 890326156 230857970 344804756 104861152 996773553 365212938 875838750 180856522 387730554 832123912 877599708 178339407 296771861 703611546 805556386 691921691 266653885 308998535 391557724 996232729 286223036 478551225 848131030 140222946 948380156 315258734 363608706 881674076 694397969 623960534 159959179 602547771 154151449 229431294 896083087 516410423 316426017 278137249 581890733 475254397 993451799 582103771 259827314 408607343 686272692 937483715 812365105 121011863 172875477 874547837 823991538 361500706 411540052 568731111 872190684 768350599 940228829 120355859 666849983 162416850 437288784 116303285 568537645 991721679 418179038 862866670 382479534 919899525 663727854 841907460 241206670 128309646 518137967 677850103 861856125 832787091 958659512 840635346 355627923 428175575 320415254 419186932 851704004 228217967 450267409 306826385 876905158 374238469 566815497 590891280 942215767 925819251 775028800 169152267 710692657 101677286 532254268 484793893 736801523 293618469 651500613 337484674 429618037 522517073 198038495 140113621 770586975 423096806 571006173 508224659 866886473 394464787 439351694 388018615 375054734 831607721 643121094 708252023 291794875 159340735 222247344 582626877 391558700 836578784 604738257 480968153 922579845 840248401 464055638 307958450 346775821 712530062 250491345 587900235 326053111 703944928 859440953 844391588 159950310 242221703 526866904 111765009 357546955 454802909 462645783 205136362 300078258 537063761 721517796 558698293 805471510 633419784 591051662 245360717 660886867 650067680 126639041 447847779 884235570 251563786 378076451 915823622 790705663 340171775 345703393 700862413 804864008 321020589 799673627 739511488 465741984 424793756 985331944 960707367 653966112 384534691 412545785 386541216 412137341 135672760 930368345 659981020 312433456 770166266 251322837 802464348 562607040 865208470 312611472 770962120 505174258 458795314 182705861 679707071 599968308 240491454 154995570 754908494 999411883 780989087 842692684 598187375 791955387 981909152 554932160 592991021 230455992 802374330 767185125 352285835 907610294 264271379 230765774 195349336 674008753 358665061 530449180 565873508 313367844 229929383 979155094 237503199 400898414 614236166 854953803 440114638 147753766 495738462 204817556 718327820 544892611 204245799 726696851 762291621 516262387 487668140 499940174 505227251 802107396 855852286 616718843 289691030 388877687 860634822 226708406 381094885 151155495 923337490 324560601 974161200 956652410 113345042 661327570 812575046 500904978 726601457 975465762 353346950 497289960 910135323 741021850 409047276 104215857 247045915 925588680 476034932 192515314 960430302 301701034 709124137 834111004 657214157 178768665 101267156 501391766 233933104 632110062 457472006 104563358 384369622 400375531 916768094 906856801 680666200 569082829 149610619 424469112 723826886 897062188 208134231 829263726 251031050 453823181 587941890 192279307 319405614 883507627 482767751 685221596 398955247 594126023 510894244 139685585 354118777 596445149 357793175 469750564 598963046 381976124 855055665 592951286 259003550 784801754 566693488 101352687 555664417 936395812 201290537 644836073 992435624 312327204 773345984 191248534 186698689 831249822 701244506 829012129 655483581 467690129 918248005 548084746 282685655 559327075 106838044 465338652 690351229 622349311 128008572 637144998 803266379 691349186 394147668 239043115 271988023 992772595 829961316 826336297 293580956 658196010 143855572 259944859 610068649 871372037 806938061 759628220 521253378 508163475 587851451 296123651 565984927 995215459 886862775 357276453 615198877 278757090 780604241 426778141 252083629 622076379 246064311 594022585 389601772 269140133 572091152 208936994 502989813 479994771 124331716 543278652 274336091 977852536 572577848 645030143 759660667 791686246 176497955 692478017 733275611 600682816 994190976 980907139 644220551 606822354 283989235 319447585 229173277 909816588 213843883 248052970 154200581 475216903 205536894 178375945 110996674 386789813 485938978 293905363 216825784 942489691 176538600 702807747 314120275 819523834 724870778 233760732 922113038 498687009 970470064 195794767 603318909 705602526 637714446 407376024 797554499 444430857 991620922 667393629 583342903 436168289 298219419 273027405 937712775 678511107 650939799 616472781 339062095 549083933 334462084 527371013 515879543 573647777 104831368 144792676 738400564 587609531 321880366 761601809 833009551 581413128 339380191 931388353 190516562 266215644 614077048 599095459 110823972 382319595 496422194 408776259 612031970 291738502 191802076 104172219 521579705 994522059 762775187 386668229 369705265 348442829 443949234 885358010 181601473 150151540 790600039 501334680 449043127 747525880 897453584 424821707 920278971 707085033 584829644 147855502 478740237 152328005 572972588 669607983 427387547 845735004 782699481 953187592 113147182 288423683 398506983 717869211 748172171 445074007 100996437 331463123 717449363 158621722 206270050 401090061 484286040 437500256 614896356 296501865 769778439 617093037 845111774 199040010 343911317 120890610 618195542 744656752 930698197 396710059 791188305 709226056 489759316 591292637 883307023 572461694 133013239 992896088 340414397 605956871 266915263 572745491 173060384 952715149 745206644 518470506 611608831 282118966 578828553 582168306 787696909 814817521 441142369 676304201 645117668 904846429 713040684 991666680 853554549 936041021 616618097 744743504 919445974 919748535 558164260 907733746 852936170 587504594 745502291 820184441 934450312 743362852 856067222 596701022 693214201 846582461 288068193 229087316 305932185 969912584 148628356 713200214 573632586 959907453 738122798 648674907 410246237 786813454 609360840 502345636 352388129 967073673 147864978 261125748 159663705 877192729 605429124 712250436 680239354 866112957 156174556 704244316 710827789 653610614 233903644 843539057 305979490 510324784 459814869 518650046 233062036 234097921 908656508 107626045 973579630 259419809 725565269 684269232 255491062 859710645 550328146 186297743 145976300 930265864 109454209 729117401 342442192 558723650 611199969 687296935 938610874 118766435 226774222 825664706 658805078 322671485 637480164 698916695 520303063 585411081 416619316 147257645 114552282 572338222 128878722 158783718 148011409 702715862 554441591 695682649 434595486 908473835 219987551 713947625 893621618 442444004 506112572 849836337 394987324 734856086 734701362 366023610 697584625 822435617 987157283 883817788 715934274 785328385 393482927 358877879 461281057 915096642 329431027 407816324 615445441 738325106 193131740 842460629 589349786 550894597 142114254 987188338 537200727 660785520 679470740 698094578 684562696 997056954 361042156 150090702 616695073 842127121 391101282 103214127 994095129 725237236 937655748 331499562 876312278 666192272 527636412 381128705 239189273 153028018 387635246 964253084 834242162 995535550 414759052 570467233 909639030 644592018 231375227 407442179 139748920 222245603 100853984 641370466 322187463 390646339 375500174 363022051 705609883 917560732 786663670 514599364 541220234 856723384 314508552 884309432 657320941 293607095 506460725 506895595 413650394 165388259 779978918 912068184 170559232 724267478 937749777 733194530 288459871 712803178 713349719 480108970 854959169 299827241 211405352 769101258 676623164 727104858 442411070 753414158 113429830 805843036 371529180 792362714 550971785 932509289 721695786 870039567 690402214 540217353 382357269 244774541 339778974 676731660 320261791 371182241 145744234 116860962 384150039 735334992 185040734 134660869 557064959 803862644 120337228 935046745 841437621 754256398 152748429 606916781 458174783 490548927 684784944 109611243 648501629 370443271 222081775 285895917 983926492 851950047 953771890 342354644 706272859 465048060 385053423 526385722 348842094 793030262 530199816 278598041 408704910 104690988 955149810 959426146 235485318 686942129 315077627 296020612 363073883 382884288 505930297 777536358 671579879 289439058 209111015 605214426 835068438 445046412 701197945 963535409 582402546 284016667 105357779 836298748 277091859 641271911 613067644 720044848 887797653 499905671 672960706 338371446 878466879 871710200 710878347 917114193 439955517 945150720 704382038 714941911 535822271 411258755 540681423 450967842 814218120 629804059 866163190 581412526 586558973 369793822 113686119 547437146 977538145 771812722 823300680 965697404 333343744 238456272 176342540 530463103 906753714 652518913 141361589 496081356 415748368 705458429 366625914 874539540 494546317 741893531 477317947 663038329 873958423 825832934 306992505 625804378 632720076 761248225 845315838 337184990 760542678 562338521 141126498 301786002 119909535 413384914 467985739 194942038 201769507 768924866 518728589 364872273 930372007 520363455 368466768 148851144 106446556 663263541 264380964 530018078 612859744 857083690 603480653 345032368 574723883 522894254 849765474 645518586 541678221 409416718 830234750 865895707 760844477 537820329 685388724 638663402 265663606 881091704 211652276 722346483 853074027 603004652 711233530 726516019 374708540 927142704 506733097 190752067 800356536 467022001 653033697 135385869 167707137 422873309 726760105 488471293 315178595 212332803 594731092 382517969 425614225 879272187 982499154 217800618 209353298 370114457 649259524 204500495 503291980 151588073 743064505 662977055 113262666 464043552 453222387 609232328 569451396 627792738 124187337 721543204 660583534 908274671 903563774 819694859 852597685 365494779 142859967 380826676 942693163 965099208 156695264 742555606 828755032 986863279 691771182 706621691 646223003 162993106 414512840 836836865 475274866 503587729 829318454 717639959 643354626 815039671 314480420 912069278 233060293 145323701 406237484 787483541 519664755 290764282 832921324 662007664 487094325 626243017 225638403 584337291 224228771 559235515 778260903 581359492 721699133 376496832 867205119 919449244 595068807 760121756 131400323 739128896 855254301 597071885 663528877 586257020 139927887 590888830 291845001 357551127 315861445 197066560 937478218 312580426 279757587 254915840 297182467 314367053 474372640 554469568 530239569 941011043 786053472 276933934 318669624 861748004 233455164 825341996 963179550 734107567 241512848 480542912 634704951 715476287 753754149 658231531 128537535 714444062 552439212 311379891 425656137 707397149 265947442 853646182 975961016 304898930 909472002 769241282 843670347 642393630 400064146 279717667 642220256 699434644 965677124 377732110 374670983 167127888 253786032 591347049 110242051 573248567 395626092 786509362 948778533 544981527 393075154 621545895 830704535 539837407 674429907 916895610 887410313 603296236 410255579 741167612 654027367 750580488 495211570 940447981 230476759 705239129 481229673 368284823 831180026 212841471 782212828 511019386 756222264 224960158 139635074 756902638 328021407 957772072 202671000 744104039 683015600 373083387 225735382 482051285 246517633 752190988 788387041 694227886 344681375 427992173 417336387 607976382 436655031 160862818 918601267 542826894 832839907 290325661 219459384 306249022 899062129 639931976 619333843 260992053 812362986 649251779 355076833 557730830 238795969 836482163 373346337 317439375 987290066 180911124 614846869 823147153 533121394 860659409 914686699 356846768 911921397 402620602 517967403 944221103 447105397 505257175 315238875 132290701 393311178 256545527 956879708 623834208 912028785 825088898 577782377 571126393 857690680 390010828 526590403 470462317 278028203 951950581 118590313 968435771 788516499 975415413 899851294 698334951 637796175 917042082 316919757 214153353 239818870 219876225 277260882 138997244 148953388 921338449 508308315 691209481 588974298 555803695 813706349 246239384 255418825 703504150 251015604 893063565 686268614 281219784 443851598 171272829 180014984 636423998 255764913 943233719 213889689 321115900 553589820 256269679 352955932 483138340 873343657 974911475 642460554 142175499 525315551 474674134 982149639 501802316 166128487 485841869 964136298 275391885 301611862 162993696 522983624 951125721 787330982 475781626 110445182 108043838 446405112 565346027 946635943 244736656 785721561 564661378 525966021 521369285 772897538 555072681 837693477 961679316 938770532 175135872 835115392 100697946 242897921 546432084 871793329 863167949 921871035 386456083 160039506 645635485 974098598 196638179 238472511 831670246 730632702 909797117 318576108 652525992 289577127 157953017 781374629 899441660 218390049 584520803 355519554 838848894 627087778 128093751 295286801 409803153 397412676 555911445 693970300 501236579 928570192 580273035 687878009 319316427 390021789 346793277 323392559 840005108 608467465 471631945 472033097 208963268 536913235 771070132 223183016 952631309 660617491 557127684 574367541 628406916 450570441 171749036 385847432 551577157 749372292 632726656 502432065 368883814 632934733 895865234 955553772 698524561 372682121 820737419 216457793 179187143 488753560 576095039 471859732 237818532 729403314 383482826 847424792 830383329 654455727 897303517 411642075 449521401 148819305 629997476 957381849 601782375 912478554 760497359 270976722 545586618 842329372 141684190 702673775 895382623 252205964 958861482 834962811 173746109 740045951 371046482 903846162 357169190 882376854 728704225 493629597 425832162 937862103 951729710 566206355 607803410 157791342 671006541 432747509 750428837 545836752 896595879 467531027 627333453 604450466 206095280 139651763 396465353 972355892 952754584 767834874 685294951 109232350 738018936 845489433 282497057 644654518 386578095 946433087 264240535 190992210 365201317 708597882 151703272 202181824 945258699 983927444 539018512 380229613 816750658 168733634 193030601 778198029 843177020 959990066 903332114 974509986 493594352 622503365 894968747 737628271 545950661 865834485 268947078 989750251 714297051 292787119 762940902 423116472 407698170 266659481 420260763 273552000 838175103 731980931 462811280 956601878 142695845 603294175 815851490 296662962 423391780 215979936 354819440 311830160 508994578 199629155 286349073 132564633 118169465 310292876 939456056 486515503 422259945 487992106 721070991 141016931 176075977 557267506 331818254 963631128 138864579 696222230 190853525 732130652 767254601 767973012 765855764 482757472 941422623 355043990 236241435 804145946 437396391 379164788 894968802 958682166 524053698 627231964 591816941 967131713 182771523 176774914 760299629 432835352 307013412 932392371 169973128 219174424 800251287 582131063 536417376 487488247 607824680 364491732 751228927 174406717 327634260 762944957 999426802 637669007 369498303 394941366 658846466 362437259 731982228 905052135 360672321 205587674 829262129 525516890 702156150 787075522 590971844 224220992 431726071 657267888 772334911 402096057 964969830 832935619 279124857 176620853 336588566 892836240 904806955 573131415 133203444 462545876 594083909 863046781 398286292 950684011 918359079 205609235 917132949 409503168 495062275 650279112 753346587 493446367 695531205 286557892 116938953 928994243 808560138 170981223 460170774 234955299 748197650 238105706 935156935 358473671 779467407 116873146 365677041 539313301 909521438 203166218 769994558 894289305 798828803 562723016 863183780 717816950 345778086 917585178 591354606 484960536 682461598 922929950 749342513 154572614 774948962 684739815 441610758 328050337 127672566 287668768 348823853 972216448 514327966 944741021 977048127 967184252 138387404 566270149 871826773 612672677 549755959 529137536 827693643 527776205 374456514 144140723 682498423 925756068 234553793 806846367 315707675 363432894 300002903 925886288 566973828 745335358 868351469 667064564 138856674 783471746 235800109 693683887 110421990 665922320 223228586 611336507 734578430 513410559 423119830 707213111 161437550 938506988 792321881 188565060 820690072 227375785 792769212 214060011 216426710 640444252 510640212 553849238 920463164 613671330 635866306 768132765 921254856 762272845 941194926 366816997 609535623 137967803 251998559 554239784 618597603 720429151 678186828 252742438 714283785 349485123 906038025 347579486 941294544 199201430 949322406 578249082 560520434 518733466 890214732 299447574 484498533 820571567 310276685 391453579 932088447 842325368 108548993 205075470 501820145 600245452 413635517 239614374 276243990 255574050 462147830 921454810 340452117 744183690 350816262 586077516 245622600 327350387 442195598 516441346 725970684 478680085 937699500 945065726 190697228 785002010 397499176 103374977 286994716 439905179 146588453 389951469 282905075 249233709 898399266 645541070 656755436 419703235 872095033 646427095 882479213 242532374 882703182 583329403 565019789 406568589 324185353 457234768 719318020 639966612 138202498 321298530 166337992 218140880 692114303 502848974 691366780 874215668 227788167 383156384 575364114 236836578 465924791 368936680 310007824 130484555 174719132 342072936 368139603 190943185 260166442 367119637 406372250 992284541 952938339 794323987 761830249 566704773 113113635 235486862 678324621 663643024 490608328 316255826 479101656 755697135 833356915 744042976 976531281 533504784 405116885 345782278 495772819 102585605 517491429 368715398 619556054 319334451 516407213 498002332 239805270 943147302 475807627 477335519 637818974 175607701 458362985 408511553 957044377 232575019 298714836 472189100 618187202 561462235 837679429 497239598 592410328 325927004 388260357 139207751 411149809 903650011 938318927 737746628 815329958 488108322 565120549 640941711 522545740 278476953 516552814 977049658 760814480 378371532 498678476 419775709 566223374 874439444 227272360 389198995 980748880 434017643 970447910 164362753 506302378 657010208 124946590 980312443 893520182 208100537 794918716 816097564 107534654 557226550 639298861 162091341 115237746 736492350 755800137 528891195 673865236 748272383 494215965 106565478 723864453 758190500 719154884 250438455 119645470 296450606 466131532 706401842 842742763 659817882 323430339 501331799 502480258 928461489 784523370 504954388 185296366 504351106 724125631 161444814 163785715 583020896 920644736 787261198 767416431 710821302 934475839 504593343 690690981 255317174 471103444 146044377 300829530 269637540 752047620 197077755 461085411 913454143 395283594 578662689 767011971 259318438 834615075 338820552 219193946 702888897 396347320 622891858 175762741 535995979 989275744 971044722 508657186 642826015 402632658 359564486 395457246 332329063 331608080 549554035 396548537 914553519 359288329 481026800 407564376 241319449 184267262 557870612 329155906 994628876 599082659 743361543 800089798 187298093 849212689 664995009 221660981 561616737 795416369 183903056 900854268 669756650 172010173 441024909 394248687 813218727 737582235 553015843 470275118 307161152 435334567 481373663 129570824 823466831 429023167 592815467 466725473 885296047 869892136 691174829 485519141 106944883 427099339 712529313 684690129 789658400 849934243 203554176 953213279 970108849 973363778 565734334 356606101 975297644 394233974 891563981 504018967 315190495 628927417 894616824 329974231 335812655 858070851 298038081 422336502 242163191 227005180 319803277 371848094 448872773 593380259 368076159 638559727 897189816 906647089 195862920 244007381 775843520 449970683 348848923 970258133 297316879 641880044 560354458 395539881 176305606 868476266 349298247 390466640 770296704 277980973 821609129 846784379 989113601 786640627 323941329 658875899 604566299 646567117 191135041 822527083 499119607 740199972 230846780 795826888 917253045 191659744 450303528 316191131 332068144 497115265 778589839 146691593 650251641 583511877 331689550 963536129 384344476 233476173 965181870 499444574 915538717 115448435 605552621 567506256 192852757 770908500 322356314 880875494 332997645 660314348 803959233 240921249 265324479 391817529 657414595 860543016 493708883 609343768 327488960 722444868 390982816 965639885 835884481 889078042 898713494 810400793 399222334 491914061 976300671 755795258 854254235 303910983 900600552 166045205 272348741 449802663 596828940 216549636 748114263 640100035 957160686 729751665 859744744 889835179 219305207 651005917 193078773 758532916 806182343 954799055 749321198 516149857 554617868 284378485 823016956 782627280 235852967 569815146 855016509 354883722 979812527 902910611 817806571 981746882 912070123 620621584 630624999 761556410 350135615 158235000 490997887 637448293 440310961 311653768 923779489 267890225 802315891 116629551 417733566 733529801 762037116 741878157 839118117 113357244 552403935 433286701 106271024 725302383 676911880 721817000 439528768 706193935 445233892 588641765 470706221 845677022 954752063 653207300 973905743 433085366 220988198 775985158 628071434 674272114 211437038 841702795 269174892 786995262 544140613 703194151 536873287 939978650 544473020 585463486 746781834 487377854 592410784 240503282 763589586 892725071 450805937 510668265 431568275 440414584 625681454 942413638 402345031 107092290 564997827 384174186 338466671 425855217 892965214 290864031 180692079 660410202 540654650 317175159 367386473 236773032 954698820 909396170 806176774 942648665 262776677 216271851 692393548 258841068 146532222 212658801 199912083 498372315 416718492 411575080 734523501 707175546 112566812 478644427 438843185 351713922 587434694 396078158 766347005 645159089 775496404 124348894 716341344 378703928 455086947 474820142 762486640 834589164 455205289 682240817 160119013 595064745 639577555 832486516 371977287 129443228 888904997 686570644 413063468 139453947 572305796 144633815 190759005 863486616 183446704 458697652 802418200 777426619 913486846 623287475 108570429 348365732 906339165 961450188 646823365 918167233 925526623 183961551 361236384 235344958 848818950 317788592 512118295 776726590 571989789 156824252 773553518 147668697 737656048 440523944 464423976 367524081 986591443 119297263 430235631 830238960 386402267 400980613 164725898 983937826 678207778 739807170 151304288 404894376 869000716 925251698 961440266 726535653 916065218 655021452 583397090 511253768 244769288 271393405 912994684 206042896 921523254 329254798 281001534 671531957 696874226 256104050 910791675 743697905 337641641 785550448 740715977 688716353 204189942 157168835 290682394 157107790 124413805 972967791 872960426 353686939 982870928 834925605 142244774 573704540 295469899 822583841 981971048 112132422 451236349 640596471 402691446 957769028 800837818 308259224 370331636 245566643 779329775 574045607 730860936 760415914 529158971 169037636 719139105 124653530 512631474 821201458 333690744 343860112 840980707 462632965 959185894 530608940 491928142 519054435 844133988 542162073 288813624 600737283 285027237 334286458 885382591 618003784 426847842 390313104 499332265 452281411 154258078 287628120 396118106 850583423 262843927 920344350 467693096 250156209 252240827 595753735 338529548 586477910 620927163 457468356 659174333 815499215 206361241 246878271 630434687 988017998 755845262 683116570 514841173 272373856 669821740 452085197 778675978 678863321 532711854 851107408 166345744 228773643 650131725 181330043 643324601 840465940 906988094 255761750 618016287 570090479 910567779 709396631 789440923 159536612 809032243 710204088 761854061 794571828 533936195 575755551 941911009 643008865 446300916 628684361 330188929 661630761 511934418 722147997 354447406 935467039 431079422 955865571 428682124 361899025 439683190 489213037 509521027 470405085 875541260 923760072 746208240 618491087 231852210 693287208 280570096 503678050 925205854 880640010 965431518 268459398 608507674 227841544 478158786 859310451 199238022 246393076 402428764 840942413 142389843 874208766 293955693 871225015 751873445 291675793 274537674 178430055 294316137 273897605 322894903 827050388 684477463 429084553 936249830 620857883 290588753 500328088 453651293 817719287 467089673 894346883 693495663 233324148 155329748 994429358 402311216 174355927 430936243 118418753 808921382 393067242 277012547 528122145 816699518 900925882 954930194 375301472 794287604 246488690 419680228 745755543 526171979 164187888 627423041 277171812 123868238 675066507 173998822 318327534 744552692 875410053 376812856 918361069 374595881 571937103 317271215 348314811 227813020 940361167 248808610 571751307 848265138 482883387 518116085 155258007 478679515 621810451 628217679 730661979 784616638 315685974 687997992 796406453 451663660 317878654 265481101 809710157 130130193 868221293 822613686 960976201 923114973 204159828 914508471 684520799 671298917 781065390 237653826 425930397 343557792 800040040 194741796 455430784 478684818 806174100 733082315 383064540 127097784 350247992 259463455 763057141 128364669 541490212 968265876 653799548 680265640 260154623 938010594 941376988 423205148 103842663 611620977 491550193 623525733 357781537 361452340 789692657 174518641 257592319 807619923 162658381 617988442 812871260 936260837 460996816 130583532 785483924 813411107 762321175 871078755 971607302 770050838 821899298 570040474 768382789 970225920 461830275 416954214 609850647 861690470 741618709 572915092 432715093 742600574 239777596 726420558 832825268 966415095 841616372 429441651 844555618 272931651 414500204 228064691 415266666 405939746 156009887 950413086 929418399 397114093 622477648 228680954 334670462 542832235 479621088 846066504 704625482 757889298 222602179 340822560 218120601 140949348 203862582 231049169 424642648 430729551 336432683 771404790 488240365 501505780 384743729 660879005 867245191 181787488 150373384 113440703 572827333 189911224 710259732 852384477 244324604 674261327 101677121 665420778 995368136 929659257 165314317 767980339 551159558 128010712 163699926 796877739 379296864 744144337 661045687 152640749 169826933 489107660 775945704 167072661 565916140 223694097 314263102 846863882 514542382 338118391 971026412 618951305 576189705 743216797 301368539 340206588 933126300 163254920 265663726 755179826 537083097 467229276 917271646 751953251 613979727 477868671 388138889 631328244 645400118 319849120 799394925 684768078 621529442 861328722 768373421 332999081 999929139 795352991 650408714 196331263 945924551 264475017 674647577 723177187 864188522 935677159 534065282 815780497 289251317 786905684 872685241 861467513 199314835 915161189 327893432 557423506 720966969 217865773 975387239 525643534 728934261 205507227 798393293 915372571 886657856 843789586 926545698 789977334 684379082 124824323 615255350 295174357 412339757 608504973 471096560 650008639 373582852 181237383 824455531 445506303 354656648 659974745 607947650 433906767 177447990 775771614 585338280 412685285 664530801 713319713 775506844 953551796 975510526 336409226 846084409 706627609 369154627 743873958 565231765 357819556 770193033 809093155 834568861 703328887 208577791 929801017 400218030 708002395 375038951 400038457 770825428 693037927 664631305 610993455 565517313 515485915 201394636 542243506 219255602 151243796 827781291 869522349 545054917 483700670 963887872 551690956 595716306 827456151 203222627 294850963 422412715 165375866 291873942 120850353 485130848 248124741 670084375 956777452 566652955 238000064 103828522 838522792 414649317 421267787 484864847 377115908 502933791 761552891 473346196 656330969 523031568 774634009 936411014 233296462 622995445 285879041 974390118 382631509 103554475 483069377 619222257 474900378 159650319 315384077 351961209 411631437 144638060 500413700 439704078 463103513 552293776 819911036 386095564 565631655 878919270 566069494 870522650 553480076 854932282 228039355 612711291 176309302 872357277 909632832 632162293 616360274 100726724 911169237 846683816 935865605 217623270 256723994 962525195 405809992 420489841 728614717 158947705 239589745 151093354 595839154 451674597 702448078 334096225 630845215 225839642 131969799 770894289 427490890 562703355 584230179 450449800 335821347 937260677 754461249 449852384 765318904 929392469 229834974 332495520 309059963 612140701 696053460 304727298 236229019 683848817 785098119 104939082 509823803 242008649 960192180 753808150 883045763 708085680 984885617 335216782 911562207 415258878 641665071 735223186 229224333 742830830 217259923 504215935 203511543 660393030 738022437 944228676 944164672 452109615 321981126 301494960 853718611 608976205 531502189 161701347 237052149 723607226 498706024 699154837 776073516 401738567 345129519 528225249 147703690 131474595 694641416 530480883 593582069 427492176 571199306 359825128 882159019 757029685 356076277 834584748 556011220 392859604 984551612 412897170 783925995 374990800 786340102 112148710 139393958 464212766 393005530 773731092 467985153 935196430 723650406 503801839 193214945 362387317 341990182 701408350 671509922 613743836 849021724 220028892 727651020 145989972 108694007 969623598 240021116 761178041 919226012 415966927 707701662 136100386 454390054 126498133 582352449 206161061 765721420 162344644 648529542 107715274 714781933 844253959 812786006 536394608 978322476 542782655 194869579 971543732 998929481 691202681 288409592 376920641 253388784 587389595 815912335 968524437 514626931 526291155 685434606 856174194 357656747 908628469 250793231 224679306 441201999 702791828 179787491 827485438 977819987 795008454 397565508 888180779 322653462 730870805 947750766 495417479 372812496 667635644 797256696 675157498 496524818 473610203 530078575 307325972 408139877 638722928 438792659 597024790 724264780 758414918 157643356 880661445 484673480 485986715 449031085 332440330 783362325 488041501 703560709 964904848 569602591 344447542 840729833 978311083 801234838 422819348 544733725 164942243 441733058 195258545 441758999 646315989 244105420 518496925 425859798 647356020 662102959 616702163 786823508 140761776 520822890 558486810 807926819 754780790 224698436 823321639 384956845 401745900 134409246 732368367 706119331 774094551 654470456 405300958 180162320 545059175 262200060 234246502 571997142 298331774 386855880 746809168 318712363 974261207 788722184 560798257 352175466 976946405 182385383 826138411 774707640 329068335 323149202 420479433 364928748 238071052 382009371 419213451 322969178 591097258 763263521 523462533 630277545 875499014 131865661 431211219 618929845 135020390 649454927 814732062 832909247 722018871 597491982 840960324 241370279 502406298 863428512 901723602 687096952 273156575 308872613 292852410 622364582 837830884 113894345 614327797 521094872 365057516 572023611 691664279 794568938 653596907 150194076 635948712 879921944 271012345 117023311 798392142 823855123 654394861 366693103 812614691 217193117 533977299 870619974 931875300 763458335 233276354 481179468 843208215 295434863 134273375 396158877 797463090 693434312 695930096 174113997 766144540 466602804 487228209 628019832 585163879 804857391 822973871 701785956 486053706 804288610 808904639 818692262 899994189 320417637 553552949 299667607 276652755 697739003 122924947 603824485 875397891 398881925 538983701 513658265 707669243 459248457 181281121 967319646 528400919 865054809 919940868 400647324 161794852 925400568 203240424 849144243 281936871 658868762 655193175 269037624 244917434 361258173 100430350 687161395 473617610 578467763 903965840 739817244 268951163 927219633 921904757 636281527 887230761 648996757 580540586 107683936 148397109 903646275 619948644 653464607 452549456 555950916 208129996 258472489 831318676 325191193 153224940 395066097 162134686 570723474 778803255 279705228 446342024 712524037 207263162 786498747 588366892 436498219 684250875 339112025 648392718 375989936 721252605 954140024 505572670 400983164 760220160 478032887 627148521 564525358 237992899 861505205 513203671 623276793 208483750 753893780 936304434 523378394 333068693 785136692 212705116 680721007 747059748 351017802 618376937 997679083 496886129 748813041 954888090 954506918 759479831 574013333 704898353 377926371 224456432 482283151 396592068 215958001 965583813 701714879 655083503 992240209 167991728 761379674 539493265 285322674 430979648 492378717 142621798 877078593 756145062 144619147 479098234 725334532 960354840 792551500 982859375 700013371 609446811 911990099 771335880 332409981 524208064 973531775 518421179 633823917 539091936 290436101 951190210 966884409 132733298 497974644 692866931 932161935 362038952 431312057 723384437 472237210 551569220 931165459 664779236 903192494 948668262 912388297 842737132 234899172 186520784 766240037 555600596 813567291 423661733 735970890 586115659 302440026 991399313 187116992 102545896 603355508 876496165 339660476 349387354 552296132 487306217 421841640 725731459 116702394 912394613 782267056 183736762 918089089 985767515 866569927 342209576 797164806 478849692 240663530 830461322 526491988 894150396 164013318 411523090 482563155 803468627 882329002 174872584 183237035 113045816 304928294 647935830 259245005 241877496 137209750 819856075 814802687 415792699 481738309 539518566 463725999 726588957 572563904 222071056 875534688 258133130 745128975 300959254 569094831 147945857 255313968 954014000 838850045 451190342 145022014 473157451 864628198 429428158 279019050 928846101 371044084 541175062 183085101 915954652 614904481 763459251 374959096 898925344 422616580 972028164 453510066 538380851 226311327 668929749 133533770 207483326 510257374 586649367 117158467 831221067 393141329 273671445 471614641 350884253 727905426 723337450 135308392 207500336 862815779 653961686 240664705 545754547 568285268 714720834 568997732 118544929 538273462 329884888 826101904 209840412 562545527 741199104 362832028 834818131 860140950 841841518 464352206 209904114 295432273 366576161 183574292 395143513 243184212 647220842 348693233 153264342 122283031 669976971 813079782 950665517 919096695 591244138 799934876 939483084 985929911 454655860 611869117 451008465 134511240 856591446 774240429 546957872 938142324 236996658 216238490 894821469 924039029 849504557 818537939 336264747 661597417 537078079 393641750 887264575 277907269 130576776 111045206 226935686 236688230 216212785 517718588 972544729 274675275 862725755 767788632 551548022 297306095 921016012 539976686 252480233 497819588 708044544 263585374 488754595 212297918 489682876 724240218 925254256 958252282 415149365 745282256 667586841 313250195 722714239 936364718 887687499 110585747 382886699 798396719 870072997 999863429 636739405 403656953 123490921 670414760 992883393 434583077 854926316 493169648 623158498 989780400 886380781 268522637 302516758 532729839 929318029 323620765 839691475 123491060 828712247 969063729 327319332 511248821 855613108 485231121 509405494 216524808 653536548 773212521 125296973 432164737 975015615 653227003 628697897 580408744 679674002 629661914 105895086 444313332 284924494 504872517 145764101 643292358 201715895 393475111 839005941 925690308 190906237 698429369 207564123 124243062 349717763 341576384 706012364 779509704 423043880 638086373 896438659 292567471 406258682 598728774 912973036 224232555 613874875 312157465 259870033 277612694 359495766 581557759 286511790 549600299 915090096 158328695 319183097 254807153 422768696 362562475 806220571 406275991 462848596 102388038 886725480 441475429 298657241 691376240 639981213 833623386 335830106 203560419 486706094 563532295 940832466 356433816 897655402 718972595 936360132 248431205 511687365 676999829 549541043 426009545 243359708 793995215 122583325 704870333 196967130 782889372 934082944 848529443 859897222 295119085 719964264 913340829 963020320 707846911 942166739 313370635 450596921 443052053 518857393 239624836 446497162 385605715 975185750 214811161 655111670 142732489 909642853 892117728 442174098 932070171 316785643 896160082 613626517 755798935 908279800 389208715 340210201 978743632 518204026 609076892 738021181 134820091 228412609 134210141 316450928 642808246 938237980 187707973 452733294 774042839 686353318 694621863 360858249 723750298 372125031 660737154 187604805 165639318 450308538 858585538 908376440 369038181 207006277 666375898 715572047 677661709 954354981 754677943 876052772 558114352 406536380 537482022 308673899 801365642 625806252 981709905 361194468 522915189 108850703 585976741 700078906 320919221 459572324 628167326 141809945 575291003 136048362 343656112 326530996 421615670 435127628 495863305 457644991 529017990 330999235 401519809 969038863 720018994 123906686 740289098 952552730 385349323 529150737 343738703 781323964 484820836 980941376 884118608 907106129 201716935 882389609 696152988 211518844 925503157 571590595 144649049 920560050 129232204 837629228 783897806 884111962 939161900 878750693 877797200 919795786 796410573 889356403 467693592 720044883 466353412 225473589 233269149 384845887 352333031 874881243 479664700 627232817 163140419 270779418 610703040 928730191 230845130 495746726 424869708 682320815 667740540 329182258 425020924 620042897 786013805 919769144 205684125 778918158 980776797 775124486 970439825 349168662 488860530 607531131 739248028 831501975 683941463 951018042 752120060 706087306 219112575 758985345 780883412 482958502 250664023 855302953 314059478 845454109 229126312 749181458 633632292 756260168 168401195 798209665 842448672 906421801 790462151 629315093 223314868 244544897 227619732 354984240 526033275 540848778 379408002 514494152 495153687 702748435 768650919 988914926 895327541 873699523 883114989 503820633 222476746 914952689 394435854 788246428 996767233 612229804 438173647 132383939 519000849 199576183 699108942 863221399 220470019 498858188 704250918 392743820 806371511 936484623 585182274 957161198 371807097 338599086 250767591 228952258 326836700 611043561 496071008 277858329 229425437 640472141 180714035 992509679 137005881 987386576 980060585 192301457 623461521 616350401 773269902 357302886 980581308 480507490 418413808 288782072 509105026 148932108 686524090 784732237 570109978 762934712 525310974 332571841 213300532 993721204 441917588 890708987 335275774 581077818 320843885 924434216 150901250 896111079 485818058 611633389 289191903 462802596 272214355 390005828 740990081 154652779 993707898 769460227 458945211 533909172 696848165 254633038 730196320 650760768 621788701 768540700 825216893 335861062 197360583 676743659 357286372 465200665 796143631 112380572 645073227 474937767 603456997 788847369 413419121 830550937 770349387 326229239 781393974 980454629 842909693 417353717 416098482 720955131 529613009 140068389 142025757 173362116 523628414 916295944 120246693 938271673 916838493 212255481 435251574 768056834 974800662 696619188 282519265 156158762 198765064 201516943 468601237 677540080 555317817 109106162 788145965 527033886 972286526 586806780 329592020 394090028 539647226 325591526 740793380 813527823 607338646 304087868 470840495 810046854 146781816 221205671 777660694 121310444 724340188 172609691 260543849 387774514 770675262 660136125 471899262 926718240 900741298 530070823 990979696 994284210 468578074 108781694 819646180 923942143 476623801 926100717 864181597 938699887 127953008 544428947 383646060 739585303 577868131 929880619 998592130 427246262 784908321 632882383 186177622 303017360 771954248 454241931 378882572 338539181 565980069 533561360 524030181 251034859 419168348 195677325 340457719 364027620 956247839 825122208 206033849 205876002 610954778 572599025 828365599 308634799 731612177 534233939 355620255 675783705 963067259 869289268 318522907 526760633 142870078 543987968 665244473 492351012 328560497 572560658 787472876 768168131 774722936 586502934 596174798 962737038 709732380 298533454 567156234 292416318 281570855 276478489 934287713 912781539 351246048 256258383 333682176 933217982 181441536 668648402 345828664 735582429 694223646 778066484 307468401 951082435 464263837 810536075 120613318 812502503 271362361 313828566 400040541 337446995 576984330 764123636 488271987 509579724 473441527 776688426 214275215 109051395 127608651 933057644 823550394 126821664 632491338 470879478 352161184 444446216 251216743 460793882 578497920 159211767 368015311 479472925 669635748 505374073 793230561 877391663 900473204 373506830 164079269 397201225 678259271 841822806 883950436 547207984 173548307 722944512 564657787 249174114 192906631 581414952 735201384 244436227 563619351 105464809 435180192 737936742 402874075 925438578 285587826 820274808 735905170 426301436 326037927 287837960 535589290 305631923 405594428 286868595 108817713 183788435 189647654 789068187 562504626 950625757 132191832 968943968 176676698 101586705 455288979 391629092 515635037 515052833 177135765 976564959 172895334 594722082 889295354 125937479 339783868 452946402 455311477 908100550 381217145 733881417 614326206 287704632 608683834 482811440 966842301 140283876 927173627 311881446 721756624 435721098 207587771 605078627 651074282 260994965 955164054 865211582 935410252 227101144 252045404 198145693 340297228 952101784 222977772 549515508 977880418 460371707 737191982 852414115 820844419 603404676 970635098 128038258 377629879 368182032 838537351 844187968 465917747 837200394 445344810 936756994 644352204 625267383 919367853 296399808 801605550 360664963 818220475 692855018 658428270 221452743 358394077 355571628 935138864 156017777 465214416 808832223 226665329 293847255 227565886 426494136 994986100 275743326 193610183 507428868 434382613 944729614 156196259 742979117 478682115 616024588 819572385 168832891 482561933 823052867 321408225 807904545 555812967 943352250 724070700 763739308 612332193 787305465 390477250 861280137 315817065 437148443 253295874 702950805 751825345 353269422 197023920 321797147 802542413 658848028 887742915 269308700 770251753 389302585 821995691 401722094 886161536 449057887 251748977 123186306 839952256 867324522 310616593 130714603 743377480 488250401 203407172 139368780 910501644 200778852 859291190 921447941 869080746 744444754 241986690 337180987 447328333 966161597 202682710 955406143 300329036 892655761 561145903 740963611 787494799 654791249 939867703 590060145 403505264 602498984 893698992 714574172 577923476 494138780 154923227 324887285 663585149 822069957 591625654 787386132 739373535 899675894 810949942 764344428 872811914 295950514 825544239 723050980 257031563 496953771 530535340 795998589 629524253 750941667 340294082 330743319 374071844 368734876 509408525 243813400 587817870 408986739 377545670 582596959 959579249 267150176 912866411 523058829 143927969 193979088 475540480 119476729 311266556 141209791 713744366 147547945 729483033 951108092 839204317 205063364 160549100 735796009 715453799 339207669 322852358 294240260 731169217 152559196 425560317 852755768 597547425 590060552 131062892 664832279 168461721 418117899 349601766 639749470 748746464 475372227 247050101 509708761 718209783 784202966 608118362 203742241 227168702 795483308 659200333 728959800 999878232 480713931 830178410 582042697 716542958 784437961 327843293 700133159 543049649 146272586 130091775 983322358 113122471 198783637 181790597 550233957 736500607 252748908 217133348 852655188 896679853 500316366 466201665 966159668 798761303 557613335 431655033 495663023 689051663 880648823 708347023 539366229 991814034 348104644 162134192 617618483 532559203 288194490 836901401 921651896 793846127 767313027 331354042 486745970 109571372 433938980 129555604 970700768 708144613 337220911 451852824 731729598 741349970 896381107 341801491 692441456 252620509 576787350 221138994 216794545 946554892 302241192 127079577 758568284 991746588 528716998 731196796 454447844 210492519 744728561 840833376 700466678 254848098 450082760 458894440 249921603 776883562 224030254 675115000 746622161 507590483 861891737 814152348 449892397 314635180 658016866 802257366 469408972 811785312 167674429 133385330 610709082 730107291 799579641 125742515 890252361 441738870 668904872 219568362 785689342 114488189 278525404 955364207 559038254 356785781 443318227 614007280 421981418 938532095 102387770 897746990 608194516 210575685 509504018 171793506 677264625 102249383 206217972 858119745 829237262 700486027 354955168 540728265 450570628 815048629 679954837 496079667 394615448 738376844 868426836 647083936 341750701 990713892 852491247 196419980 776576864 331921433 694451135 979080534 296319167 390720961 317276979 637892111 503220440 148057397 514851685 113231159 559006203 545851657 451455506 644381898 774132086 778115119 115492662 351748041 308828457 197143253 244773468 680468884 916856371 941942785 566491476 382691290 525976055 551728923 849926645 354692721 417248793 312701022 422100272 367428633 807937203 585321925 717444702 365198117 172630632 672858705 544702256 141253361 147984038 931035881 238954521 294475362 557353476 602789557 459100596 945668923 542709575 982840560 176419253 233843875 544535783 954441674 222617632 775388262 996650289 224252320 118014568 935245341 853053718 998282815 456340754 137322459 108160015 890078393 396829855 751921499 583895622 215675531 861670321 333600428 941522166 375167985 667812401 765947430 408483488 488176122 922705126 165168006 994180585 288849186 186806549 893655145 121318687 607817963 881723176 713374653 766631595 804161557 850996303 577066077 441632113 605516979 172790902 712352115 107724506 460274279 694005249 312256017 264285113 239279728 811927051 246697708 913720455 712244221 330893972 126423375 234608026 881048822 701888944 963216333 101329920 215397991 493449710 407765428 701679401 701648237 117378592 747678656 451229929 296473439 652587803 641099182 323153327 107556113 269258147 472571563 745258258 883490354 586112328 781116334 924940538 308521071 836745748 221164764 279269650 455869638 637403182 971596214 397535699 292501762 569490477 877236760 581330231 196486740 352469674 925267699 142512388 594910788 513196446 286510283 157047910 742003281 643592905 758515705 745795055 892998910 157662872 504708257 761768621 550447373 789505535 195828552 162036788 485617742 830364504 860035203 720011141 981084505 479144310 497947535 783957665 521249838 704393434 232928880 987187047 281732600 928428059 667019951 726815252 349814056 270030280 120090357 127481595 658969821 975095663 727983874 268113012 606778874 995694716 213887502 603246875 473773166 478823155 121311296 792821547 394299885 902684560 268768575 666604641 659424714 503492794 767278820 715617258 394180784 746180687 537454678 189875435 619948429 676657260 498333232 869671463 646451555 227697806 137889284 728806861 942490001 658205245 454700195 274006097 414789587 689949526 257918232 345556465 213201985 608965081 940728605 616066458 858914581 171635691 435371576 162218279 581037313 745907374 729033135 256699648 620201517 331334211 563060541 972695320 188284495 620782280 359450034 339178822 368139161 420605533 880144117 523320897 283675363 580280127 501916551 442512134 219537826 139230470 521410729 219823023 841160490 533437416 606283441 647757054 674804660 574721758 111497334 563224049 379648058 125409445 112367670 791804364 805277245 666817246 665875353 334364691 967642714 513717433 508484961 628405799 781145858 589755939 741578594 306105076 478466015 163389341 105910830 658566047 366654513 981876306 747784208 573099946 693158084 208100764 163896988 160210540 903222365 823779445 237134754 407571203 743885294 167379183 130622794 527099679 468294332 875613418 226516327 150800991 305145966 411734855 283301938 618859852 259189629 738820997 981832809 106084508 865754796 786771943 599595964 645188954 493498602 596046293 226104979 478211400 123756368 416404285 447117848 854995529 130440194 180845956 645391454 804213733 337142739 895204742 821443486 311033985 280814061 993194252 648684197 740607680 898514688 804062403 598235278 579608156 936425263 217809819 828357520 228272512 486897726 355713065 125589197 886966796 328257638 591616619 839816176 221482801 800674466 358107901 405631475 678743009 222330830 617224233 356161129 864253950 343827551 524362025 548216528 574549294 325297504 313407694 597114029 360981509 550748960 249345516 868082909 390511694 842033100 926437421 264434796 878791151 728144648 240304078 598602896 851447771 866891163 396093421 876838099 185142085 457305158 314051797 689830198 429815150 984303710 576530714 160703598 112878478 932239305 662549920 979627893 280885789 438689441 742306273 683350478 810805743 202177160 926955339 458285875 645076640 332250275 438126086 134350521 395148931 464325322 133050671 140922841 136304605 380772163 254296426 389089599 197820377 313984600 235604864 343744288 614449996 856218680 376399906 214209096 765868284 766692153 554645533 945456149 902226850 536894169 648718928 750195536 804425741 644427498 469942407 300757503 121083167 600145325 781242448 259333089 130173944 735683299 680322101 852586269 425512067 732312762 446469083 207693191 252631110 546332825 653625504 285305508 385205910 297037223 729269621 306006429 222883724 697558206 990903988 451331377 534624041 985523808 170407108 469173222 918179822 446340882 799345279 759986763 721420314 887546022 180574665 988092359 669848462 436928451 425964223 880986051 648575493 251683172 913851980 670676160 368462349 895731802 854014507 775217706 427275095 473600338 453047903 606383996 901335221 172940801 202312810 437659928 288637200 863909556 155297419 154724693 910294955 680662902 672968586 629839657 975260445 276961343 412957068 690249824 444406470 571661823 699732548 865059469 635982076 426824959 669482072 887399697 307329677 738392169 211811970 199598041 369486299 996055738 600761123 417869673 595641917 400899311 709502292 128509230 319285494 299418471 998282863 833854367 405401100 789492132 653440719 318690351 656108253 296098915 689081064 635172461 569053618 557629354 862484669 139018294 289597877 555732682 774542083 389943654 487996455 503618530 105110487 486519645 939973188 262821255 580936920 361110937 739719204 870362102 457635307 297466619 815584434 199644457 909198421 641297258 371033881 809115380 560500067 107063967 974389707 220678118 328524374 430392509 462752493 138507371 313164757 654405873 798583669 362456421 232859043 608704165 562616147 388619450 936054784 384346370 316335659 978159402 141132192 164936526 837521027 159471450 316093652 211142034 689032707 592583477 734496738 555416046 573809402 745449350 953746565 195537893 311048066 899527260 457763150 646184580 489014615 786124459 949919844 305958887 502104222 805568947 663800376 809505991 676472681 703837652 474125439 307368637 275449782 798343328 675872944 338717829 305047174 467010814 412165315 369414410 432880884 160349067 147732220 786478967 476506648 348099913 581097774 584516265 400793652 645330415 913540719 658946093 529696115 783907430 611587040 409473132 783112460 324436552 899050631 131593499 521360592 937460364 286100876 540127455 662656872 624417238 997461827 749610606 950907903 538126056 780431149 110950898 914924725 989440404 641345241 247713781 662843497 392837322 747922213 909688178 788585207 738391205 820776294 161125151 616073714 811250553 592689716 507085554 123648350 228658459 605906709 529326834 608522153 201475742 139007345 177191828 166010747 601443955 943469094 960413656 756215208 975272491 858369177 397644573 253773363 245168370 875305180 720799813 762854009 619977640 434096623 434622099 568311523 610068734 329960133 346863497 908498829 355677875 672481625 111113618 459187120 997042420 377120535 692042902 164290031 831861082 857245318 831789257 307498998 443839274 675081377 158340181 432738420 719744792 317189824 632953580 627943309 237371160 661960559 315653932 559811793 197830179 124080184 356754064 413660369 217825016 820674682 646639035 303789913 288726423 257484302 761188962 354795213 787623847 946407057 650450521 605679449 923748090 324336906 641080417 882088710 106701461 349713071 496429264 721823252 896650440 501254701 735447706 759160183 187906271 337091110 670802163 141596569 775073992 163030897 762375440 177741002 587196689 998279164 313357684 756772250 432265768 617941587 484397448 190500479 886242271 650745685 582119524 148097108 451015691 363314442 863898513 344264427 938686842 449201967 205218251 685398662 250419022 361190022 809475465 344238580 854901879 468441554 263564810 456464725 198462036 814797859 932271721 297864337 714383663 909873829 777952463 609003680 834453277 357798752 955167336 969645240 290194369 737025439 141936374 122020745 490663667 145501461 967472521 934630776 926174900 918294743 313197675 238268135 674228658 714638786 964453931 779471207 656434356 143451186 549586663 150420809 841137195 850234746 213709783 194439222 496154562 705306696 261365108 625761925 445769702 463976963 375512729 995294125 514547905 911526449 225330752 462057118 411283981 713441136 122412019 826216188 373308256 238209031 368997948 429078565 721454823 910019341 286738392 867794085 945555625 674656307 370644451 414125238 764150917 671066195 640448569 680059092 163080531 743798608 315872772 217459419 409623667 398860929 149670484 182893610 798303269 102373788 819310904 155065000 969992681 462235527 954550875 656080802 220545346 917823683 470008336 958239637 928961000 459736334 584425125 565961548 181642735 625026448 888418098 388866975 249462541 407163639 424130940 454091755 918403018 772425791 509528408 644056688 683376852 436376587 676786754 215346467 459931443 230352377 938525821 585775525 681873462 321763458 811692040 956073172 443728155 716464856 439896021 659242108 226169820 757819175 385210311 737454722 462785866 241284865 349658821 331224386 968392013 173262966 696326561 375711369 105670816 262214925 226776900 995766625 519708796 906008407 946034126 278933481 270961608 738033203 276649999 805871729 937866124 551915333 956062315 142275129 860191794 771150965 446433426 284856418 980862231 454597210 782018543 624093829 442504342 439332500 137336713 470290226 240985303 463585329 699197517 569756206 934887409 868773062 283917438 219976385 104220106 152937547 867281650 600158424 355710415 932248706 597178671 786542976 629641994 503953940 324921369 567790698 238723384 787979955 311591206 452019451 510526827 419704628 146686099 852826564 297391026 634015658 973514970 969201145 746729651 712861276 578694009 263705931 189683444 227672130 598320827 804229854 759305776 439419805 563180120 239407256 122230240 225285273 678577296 693799763 858530031 162246206 187338646 763343764 886267029 118975112 532020606 455851709 692957495 177597030 188032549 863149085 620189320 776977398 694835291 444756027 456000917 133114592 247678744 776063570 773944319 301183291 153492717 107456019 194999788 195584596 909448625 418930236 911262479 638200019 995737609 604973454 681348802 723798616 392359287 480827288 510964299 482565522 169841337 391758214 686088769 721709144 239554761 166599161 835486450 235172910 820889386 137486390 964041012 184025620 602806275 832475712 503158289 698797555 779182063 298760125 742595798 993747995 829337508 608713898 238453775 296270005 245023707 443320531 846873825 841568351 180137255 226113768 205450517 921027273 292052212 777232915 174648158 567070372 935351151 514887731 788960320 616754132 620464677 745968586 596415985 845769777 363963748 269938836 417294995 853806976 615241788 151422232 101661579 623172699 714510326 323441186 730112550 291221626 716012085 983730670 497101394 546261234 380400917 277368839 622992520 847330018 379171665 259865028 937663569 775630994 575307166 726818107 302930201 321667060 177914955 968277335 893015763 159910860 955095554 797110833 847339432 579503139 652955473 910404726 432195482 473343427 279173074 524664114 248326253 339826855 352215572 851553652 728053739 370238268 628269471 609797165 290254956 156081248 623937826 592746005 170678317 489572602 254899439 299056886 855942430 735339264 367991603 540504914 117020419 623196130 514650381 882692965 937886483 569818824 371079459 778940484 436143610 959879694 484508955 660026419 717478196 521417976 687522348 885390745 937262452 480581549 513117675 396480237 536941115 423454455 246982599 462257311 237811028 168977909 639343620 352457763 864731829 376622174 788465189 106931043 152795483 416006506 617016941 840079209 410920379 159733472 883305307 517062360 548730548 293439307 992358714 246031622 201692744 468958271 565832485 413789922 676786412 305279004 865675928 301301991 429515785 396800004 314836846 629251996 921035554 436409168 185189837 439701088 315237555 907302958 735682921 844923846 531957189 848479590 788829453 551039237 582650294 464696628 353345333 820880454 535523559 781670167 422229340 850281870 616181968 544163400 271361186 662605399 504525374 988798819 904239967 474825957 480266353 879125780 388178402 401931578 473066589 978146455 972629479 532705073 484199453 769255154 306267759 127422000 394037967 883200924 273419553 875181901 711365946 530995417 829674641 459793872 188446619 546861457 915488715 814579720 244647724 446424732 364476527 297988410 988490192 232269234 542251183 344843193 120184270 612849620 729422437 867266967 242955951 233334227 623260497 945014076 166288888 278026694 465265474 505196351 950158342 580878117 830444266 939135488 513447467 133991099 221458044 578276514 181657734 909343995 820192879 175150459 985131040 648395286 524822622 379068556 557290673 970286882 239189631 253713664 777004172 142946569 187722968 137509248 854590635 531274310 315295216 697499580 862709697 516176065 201723654 596773792 171233647 181191044 923223261 481689052 219107726 382089106 834771997 431187479 849809814 852059824 555729574 370995170 421670922 248727542 832146970 711458897 475312633 713097425 957001533 378805650 692276651 268980538 282602225 180507540 881136269 399123886 279615411 788797378 520772127 667194055 816620205 313437721 273678124 448870237 576104308 117737077 585171358 880051407 438914998 897523627 553644011 491896295 320530864 900544565 256158676 695969947 414007439 243652277 618441344 469900832 608614599 539945652 980479109 825251038 486951317 942536132 723086287 236894616 520040254 326505820 215881686 328244517 863693623 368457041 789060189 841350318 792445677 816793031 548915723 248414065 387880788 259921289 798861668 481485471 890743074 242078313 865347494 361884451 201086672 970226772 195735520 172802543 586923799 468328149 808382386 273535398 850993327 942557651 968432985 356449955 961709330 203858263 604309854 553325810 373426183 739316420 126921173 613760995 529357908 725048336 839746870 770598424 111859735 824644111 402543375 703046725 905530388 113033914 420640491 602195997 562079134 790635364 584063383 344686886 132234961 156604860 753058551 611153572 109344451 419487520 364858252 930138169 554673067 223134096 569128237 773421951 229928909 605661642 673523788 403258009 281659813 187700409 674028401 560377549 589111177 481303318 559316150 972841168 429690103 114863328 405941698 183368488 229535492 153022460 107137286 825922764 177174393 160745277 802580924 531136412 701424294 896610271 712101733 852397658 944362817 401424375 720651346 373789953 580176019 381638396 865839344 592549911 929079018 825268366 240867658 912817565 846327665 694129205 575575391 642424642 512966954 845844904 159198952 840222930 561115778 682467921 181417756 158859716 555219877 663644649 801588756 650870195 480517849 270308219 463998413 474295424 731788259 445195661 181152521 231864132 215573210 604236769 759373727 873272440 220934193 395456487 365922611 589596744 204994362 777615261 974810666 139156838 377482516 327289088 882046200 496954457 872844150 151967959 902082188 841276549 747888478 728236825 583807535 176471896 506644567 196986309 524676930 569438871 791679542 709935549 576344362 391511580 747066217 517957977 787782729 129296734 619505450 221421027 703323814 497111237 644523478 133156088 569057466 386005726 749131466 980395154 553527818 597586080 442525085 755147833 511814235 404741616 584027851 395128642 603995433 435740181 123423239 197248309 862663423 273995870 109001048 534005945 136018499 850537327 376993068 881011493 818254920 643918198 850213843 134605925 993345521 459351062 248963063 714177223 437058609 835122608 884169587 485308182 278800032 977384857 236064081 633150924 717417651 513705230 569528242 478352125 953087290 606852825 668416873 735510754 948544079 590490549 500646346 720797117 224684626 509327382 280427920 736785016 180581328 180410187 189183072 812348786 765595622 741749096 977541838 162046815 766245976 438422527 321566590 507998111 315298342 837883786 155873447 459318200 731441284 936549041 204466433 535180299 997075135 201716852 408910179 478435874 121396916 675218073 713170176 555105159 708084385 893278083 201470618 250265285 844570508 283830767 982773854 681557987 540401740 941909720 147809508 164970190 515077543 253618091 530074361 725667142 823816613 962112460 845438151 809093487 755842150 412104511 401549768 322998127 626654893 745818774 418128552 375271771 738797942 847422550 356450186 722515852 640814200 258378318 563207395 861278574 165418896 929002467 379336923 413679314 941340357 890949285 588328951 145054334 644504822 272160536 542028330 909714821 846104664 877175848 250164712 242047901 627916903 126560733 545899452 938195846 732161596 929000785 737381662 396980234 599161110 578191706 668146184 965317567 794434235 638874483 458241489 321737220 826623160 902914432 565846383 800831839 919131423 920962572 787313799 694793432 457801368 634235892 279082324 734567420 533161498 370687519 612231039 470959401 596554516 305872672 664270558 720711954 623746069 964453931 127091457 114576064 202536135 650133430 334165092 257693813 157157493 361715563 514839358 725196485 411339821 853527907 500755782 351600272 750172425 638123233 245348061 514433008 323965650 941535862 240266677 922238075 659685863 807228317 777932253 506230569 482539641 100079384 682557134 318439498 333474534 782034177 270776816 876659834 420620515 737308100 190726859 415516041 539450256 990764770 951406623 606117606 401106289 366696784 461899426 223356369 600766727 709078527 989144149 556619516 698898628 129237806 360673840 993418697 555778181 758675145 599564080 539340060 618373773 804805443 924005901 487562081 118783157 706283334 261382573 619156016 443284933 640467815 729282392 337410288 808223907 680026393 681792875 285348498 142894012 728968147 439436198 921881436 573706533 869350778 718404057 962661425 509648018 873016680 381287019 612389504 357068958 683529330 933806333 827970947 901545054 961780346 474131753 898424368 883605415 779215149 447903520 828850684 310879155 466262488 517230395 920785256 639353767 327097130 118991642 965457177 737414690 875032801 674788515 832961494 501594412 529513546 909162578 739276410 614367642 783810869 708868347 131176865 578306400 153315759 799414987 593357727 705355735 530838585 323499605 594403870 433400913 280598753 132505084 756682455 717042439 573270730 631130207 696663684 454902784 738836045 549423225 183622841 559676491 613296004 912975070 792539771 800360328 279286617 728074545 518114626 410998999 541621693 391546460 677102190 599916344 280381603 171398678 365180444 539126054 354284873 212858455 353590139 174904742 626307443 701322971 488967920 694889327 269058586 705658664 789901742 156335252 640624577 866104674 665881907 563868291 872978598 668991537 361328053 849064430 612739933 933003529 246124129 478202848 287202764 566737892 935245213 487333144 398929013 261119807 705976591 271841632 805686893 792223913 722420950 176637889 145164476 175840571 146797015 972048507 474861355 321555985 256774921 435751231 362993062 177058520 441237318 569135819 431212262 324334620 835669739 414320899 169995230 358315385 422565627 353018806 972482130 153357308 969419977 469772376 223835814 613225551 687057204 696564332 999230130 245055705 297564383 267454034 917625590 856032215 856432737 873248777 213679971 768855044 157541033 858324288 968257064 440760952 389669314 173705587 516326171 295760438 794233124 218455930 159675455 503023853 670726965 945907146 189858283 400941451 435183774 494064451 873573905 329940282 416848417 861490048 834580980 661335268 602194369 413350652 281717978 339266129 982455566 172603386 549350391 768576314 319638541 844442733 958100451 286993643 595879671 365475186 904773426 315884728 246857940 551964797 423491751 416433501 575009936 254363595 345507660 839596857 121016024 112389674 935165715 446663189 526047242 658420039 230678889 376392482 720954370 971447662 834492994 466102720 545835246 223637745 948373367 578596488 538167608 673103921 172769993 706925487 211198030 179574855 352657735 366263371 218478452 746253653 587786058 958045300 102622458 188475444 249145203 517855830 806649021 150384254 584824412 307413502 325809978 891702710 317517863 796033859 559555403 436530212 230177912 789973514 796610649 334181769 118534937 379665580 336333926 747754799 774121640 407713491 111156296 884897301 568976210 383981871 189007639 869518574 202128836 943287297 142566737 526000565 853582808 434072708 487569293 480602966 183555513 463313468 934040014 215274788 509850872 781013059 707657793 410197524 551459804 936974493 205595447 238560612 651331603 797199390 173340150 402817561 429367583 301758788 817160729 259511910 876338721 438550357 581189937 533890594 453255021 701042503 644807258 803420800 579790902 984317827 537654833 871597390 730271526 726700186 683930748 326317755 907457381 873738469 636075829 736891365 609161827 143347930 976593418 282203042 526564410 587646003 454430579 941612137 441417771 979160171 236590526 674440057 532958381 989645868 771392237 499101967 639716423 445368844 850772918 509802748 511090452 718587923 716200644 662104802 724919120 983603638 399100592 334872960 148367531 831214075 415091377 379280147 678226078 100527013 582295422 446160103 162451863 668065486 336028073 131990694 785331743 514069077 944557651 158277660 634835143 251187430 906926645 891697481 195156878 767152933 702578676 734413506 673646404 241028044 453441318 255969187 812254586 129207587 275769784 560674028 758353687 634648059 781390229 259292695 506729073 475995016 846647865 820445513 873727075 485020574 442812299 318747198 319255533 154896279 275535056 581696722 538195167 371963692 117190874 226453861 105127674 961638712 659632120 924149939 461681661 121573804 642827860 700537107 412773897 436136307 599736447 313132165 833148305 809673233 580059353 823087518 310777201 970296697 667607767 713106806 548116770 855424344 725938249 231595515 338349323 338077262 429176993 429855114 762400650 708670347 440330202 528345610 107576835 492540000 725707755 270689854 780740715 514402763 861052992 782304941 144079151 501981735 831729386 835086964 267078419 178495497 797397349 961506844 245915557 846859830 739745462 113051415 952110510 920305340 444436628 610022070 925259782 934087600 240613842 262460806 855028550 643668092 177017205 940767636 951505615 152143071 465902974 188501001 429887436 893160843 481284539 948053608 187010155 100114394 627415999 683617429 374442113 727885829 870714601 773843346 671378258 443640162 784410065 557653591 497723671 645321520 453700690 993788146 506325905 925153643 836250103 175290511 197534932 854566732 216287991 875419153 820665098 166129762 954668906 793029893 487984896 352037383 790059382 617872123 305109504 670603580 590181143 269863143 549442320 483360930 321969453 322519555 504120949 991674968 910315644 339771793 439403811 843979728 986437734 481908434 790882875 874530088 122710164 620019670 667579179 269212952 851814789 639930920 750049664 514898277 490388701 919421368 341259589 270461580 312161653 281855006 661530154 320673742 570277975 260415025 765952564 318262613 639650300 537842491 821753405 329859353 895657792 583519669 216733179 543547419 135020158 152623355 535532465 782500436 226712446 772298339 798568225 412389071 646424451 100092740 589029536 913572157 230687936 856516102 928870695 986159991 924385341 786060939 532265225 247023494 205163714 271393215 187051612 443862305 781766625 530043723 991435925 870418214 826568115 153184802 143547842 595928527 978557067 482842167 570726459 700222699 903419769 908143523 568346873 103816991 774737149 744333686 622949012 932971681 868231133 356707307 510009738 976253143 573478409 443105741 722706182 708740766 295765136 363979404 770924995 990899200 332118649 478209639 664647872 620993436 708323992 961573633 221646511 452914371 676036970 562256857 180484582 321784557 962318429 201108251 621135386 768802278 713674144 827774982 434734482 658666280 178375769 521789859 861420955 119045065 863539312 634044876 339785239 908911250 953426430 429631862 285504418 941947282 550683092 128326450 145619505 163689451 142584830 143252344 239149355 624255258 203913702 917468555 929005350 331421287 400804178 945592310 871766824 360298580 547113005 687009886 979896240 856137248 662117521 496194345 619265351 285911553 256485298 155021118 502675101 579976656 137814381 254218953 358937434 103991131 165461184 641123061 710161001 175303710 813743055 681919557 419884685 616956197 662445894 759473655 905504439 612525776 473077488 710573666 130279649 228841146 192450066 161747548 852442970 974021462 481678008 576142996 470128455 889570960 861028314 344283168 809172437 849042473 170117177 471037064 367062459 309870464 582530695 639340095 699984053 472146850 912701931 133248074 950840951 306445780 456621034 709270131 833349731 286425054 906253714 833449182 648794429 202348732 495916458 880499706 477736201 301486876 785597390 857417815 307533616 325994773 683165626 108729910 507239009 846498406 912413808 359446842 130796839 405505166 651627337 164911953 292406369 480350345 544183107 455710881 804389028 691418910 276982004 961267508 395971401 570991163 691390042 381176435 456620746 806456254 273512458 459339187 359000197 761061421 935459253 362468636 545458276 298994766 222466618 685054934 345461298 651544707 620076099 439776814 352835891 414531480 811775157 720377403 913601558 967489907 543470884 623008082 519614115 587137369 840217415 563948194 542067324 303493832 644163805 654906083 873384835 276890635 267164924 192269915 549219844 733434558 600338061 729967452 888465487 821046181 828000400 601492314 257411570 348861508 868388727 441314483 446439772 278708139 237141370 984974239 132740916 387280699 799266779 520766999 863696626 206539158 941693241 847976439 473529682 125200618 474566036 839156905 531316567 939469736 229852949 720892230 881826190 223920081 547092526 717855995 771863634 444110141 419104529 415376976 484189433 871103289 482442726 335193417 963968471 167021209 775677816 961908310 629123227 591895633 737859846 939564516 736129433 737714701 628993927 347947059 288257014 651524816 685563259 656470477 489202807 399216009 245710614 879827910 238664678 715552567 375900453 322469571 207123300 950740818 762546522 438835799 202974223 553190527 513400981 169056752 835007853 575801113 937991982 874245287 245982812 810686977 692101355 874381686 228519368 122261672 548595593 342560663 977420012 127155568 980020853 927754704 224029253 918454074 442693869 322947850 923320051 696014734 291524340 810578349 428172758 614377869 566604516 273970291 100719373 857705195 175380674 819725713 326303469 284800739 165081643 842071162 976270268 969116757 532870337 318352309 378782162 953717761 991588570 315431488 985649885 344631513 118654281 546719926 704223232 404721811 682038138 292857561 864385599 359581081 324573825 714073865 548881111 948191079 281059258 696007830 431797977 211052421 897281465 790256462 524776714 499475495 989664659 748115711 720667501 490785177 800064788 563043274 411261990 168358593 731765084 968197722 607577924 122777704 269591817 465081221 604979185 306720580 138351266 814174076 769760292 570476772 785295472 651595505 677156677 912291193 291302201 822510743 368811816 268768255 720132493 635067408 150639718 848947100 756618385 369169721 879603727 825600711 846088853 872798522 425329653 376481782 546904485 733657280 411969180 289601401 650025077 531693489 772539112 346040799 274798728 407956428 131120596 536903206 754190075 600331661 826686859 505590744 274136183 832582237 131520567 498500236 788456008 576023817 592739460 821726403 894823778 658807424 641915659 656491829 266816596 449718373 354529895 169926991 472031116 601221737 709545673 508777889 687039727 351764485 934135946 222351844 844053639 640037584 665397665 800386177 471103469 278864432 760129718 456714209 175582834 348141741 111761049 217873420 703046221 901575847 873901097 464026582 145292541 769841382 197343732 995003158 387341710 675152219 577688099 280102913 776086770 509571865 397322966 131147453 396495830 143465719 488962066 211478066 774749934 604809771 688604009 874123589 875444682 222900433 274864573 830607555 844651069 937960654 394589211 712350514 465414533 211138059 139453168 452715771 445454334 859553434 831427566 551575688 608066842 852069833 352445166 349075821 965210872 157362843 791132357 368496433 551546283 180046509 281359191 783730593 824006660 666622343 239557538 800934801 317785265 693628436 577205551 746612786 961820976 516036666 177717770 703266714 337978789 469282471 350910458 251744567 699923265 466406310 572128079 454028277 652092991 992773654 193413446 865088029 920254330 748961397 612219967 951666297 787506432 326762934 285551621 640343652 130508921 940435765 561395973 194739700 492290223 155029565 425512831 392388401 548474491 329705648 393107101 441352029 826813943 537674970 544131384 297164929 467063294 362569813 978864522 892225435 190729107 726767378 837110430 818575742 146556661 352446235 783714249 596547462 162307944 440629879 471425736 839216770 301158069 987476198 554394059 594201565 891333527 999333923 766799556 999721414 853116772 604136085 567490265 149530513 100431953 502203460 373876333 154660754 800761039 199987281 498098937 238936499 508734138 132560060 532180941 350452594 536318606 554307550 563722016 527308821 502733163 786492922 436657961 830148533 532753834 610261385 605150050 726337824 276333980 551772517 314722630 625973363 448363763 161086104 909837997 383868652 962816435 235459926 912675619 848381253 572569532 711748960 610110678 806470202 408493225 963486834 333701359 460410809 521411112 838681344 472064257 524216946 262213947 866250394 418514881 129802807 626562576 235812133 814965611 114796484 467250297 981761486 734283159 539132032 624197136 902556513 232725144 495025533 743109357 718109648 341031590 403023995 587968081 551224399 683755139 210926865 483046980 781791212 500812205 932042038 150119844 652563243 882661604 650695757 542628719 747268875 415189547 877899067 975873523 516159796 433338771 120581540 500597037 513789800 284516224 163202771 449650831 543820230 277025460 565517587 261334806 375383987 720773644 106694693 194510974 727085393 698900454 337418484 804343834 380139329 720115548 181372761 558981939 129234137 237827044 378260389 756784616 408704233 381300913 955194789 116621705 209180073 872348774 728297205 622869313 332844544 309426583 369118646 928459354 382802921 379398142 718463986 656767962 774389125 736036318 168537268 769792440 851777563 388743136 363233527 153629954 213047217 887760574 979285479 454912616 406178767 232963661 583408034 937394600 347785436 905792495 752817689 261485763 312051267 863832668 827107553 155071344 575517191 322464654 301103995 722760837 375751783 382610738 683944571 690189860 826572452 935592323 819577105 132726702 920734605 528118869 185028913 729106198 571476653 351868758 128016794 646708209 607423964 295556322 574453163 485187716 307207311 492782568 179833303 750438818 473908349 266736606 313281442 399759392 486958517 250266467 703262433 205292020 627473246 807332156 558898065 707457908 814024991 126535401 324231014 202419764 305041187 781676587 828044386 140640173 368142325 791864921 219533800 907867669 219194716 555120689 434538479 622553841 785244506 780073903 162424069 764366039 402136818 953385615 290179923 741248158 747662741 508167300 103677884 670271384 253904487 406646885 474206233 982848038 939619859 475525977 750505349 271465973 101554016 602980914 168289207 957756926 995807003 486891667 188448013 607269866 812962976 348184180 676011361 305499764 437154981 811517936 204483649 765522673 711081458 607595200 939779184 927418123 399023624 727640950 378232402 956124100 935874983 440126199 425221564 680347029 763828994 620326648 520287735 402803286 380996582 866861890 192909346 896940606 517648843 184725623 210725480 927803783 971879702 420808918 585713012 259917616 691529242 305923647 538425145 664233214 980291301 148071443 687356936 833867259 288348079 699715750 404062053 261048477 750279212 139610344 352747002 524059568 997500966 541577814 525665289 451857028 771030995 839424219 117314032 261139123 594157749 737141617 394484707 309488915 524714808 292862127 342224582 729218803 888923639 330147968 453201488 688442616 664446612 356369455 616453007 591084803 790105808 923270918 875702676 141303609 764171940 451880943 111923941 328954915 649846198 332070660 448571205 719203838 761713381 107642476 451778210 900322891 238999947 358037264 730757360 260695077 226446445 757784563 409904012 943076878 680733786 645972463 636949599 397710690 502379833 905775073 388189294 333532276 182763169 172136211 851234865 464382457 499645356 927328529 648628138 470448240 816630955 977485126 669415238 595600781 509522277 447092175 591404700 212207700 244389820 853415037 363706465 905569276 113257003 824451884 425586503 843029286 834078806 466893054 831753706 533735552 742926418 484956838 578738866 233751328 873541003 701502590 407488843 776277520 809318048 835083718 605488023 182573350 715719461 446519958 213795196 118479448 648196133 399217023 639710463 750485526 560538641 109675670 350626803 490572202 115219998 394811398 778249468 509756006 642364182 992553604 198421191 580468125 356223969 564831173 667623944 859132485 775597900 960388309 187015170 477162437 852480112 125695485 194450466 103226210 278022410 269352494 474324191 227866210 505581644 119278560 911408698 661225264 621475292 683266510 809377249 463303923 175618226 784033209 186750652 961516899 571630230 761705484 776628025 399986345 177038884 365652003 732922485 545281092 926552758 440688931 389344296 286656810 943417736 123853301 928788361 718358286 453569061 754933105 982954562 795335085 148973980 298568398 256721341 840327549 864407273 271598587 843080147 229816352 128052289 621409140 215270428 435687079 876873892 628903682 839656620 541734203 838950841 665340164 884932598 638414171 590581685 542348200 598175842 307962489 815913505 421987898 331244743 571641693 306662734 515465588 730050609 280753718 308899181 329456828 561506135 853624810 447754190 474776914 752674087 255570623 952889069 709662489 513343781 791123906 852326849 234842687 238240579 371461876 344744346 433999082 214460731 161315962 124136293 574735982 104413791 369444743 226680862 167234462 235117893 388881113 889855295 438057834 172767211 765820075 546962913 538019878 866087531 884298102 107738580 557178374 809662181 503721792 455195972 587863477 342570573 475707302 698930132 885807120 645963378 412661872 293282322 894195294 548617774 641839224 838505171 200862581 901580132 567811995 461650620 606984502 565241062 690710803 329386626 769666785 966565657 751142141 172698789 342530692 394476939 758359275 399304749 705728699 431058190 712015735 372719056 575191981 750396598 815886798 243213422 641483414 746218780 977787357 597569724 288801724 393248810 605925672 810199805 729516990 636768105 298528505 338679181 583913616 716559052 869433933 540246520 413086914 276247279 715387052 445066698 934556936 330187449 136259114 820135660 580212385 551031730 128795660 838691717 611443955 359217199 233922203 649714637 219923400 129461128 210890850 198807176 511431353 405029902 188730957 112771420 847791767 175787537 733774170 270020570 772293662 847174214 131888420 965870872 584453456 844699108 294086693 133492439 641659160 381885596 254293359 727134462 895610144 712055602 368565613 696048074 601520397 398272632 979593682 201875753 291591258 178264418 822672718 185280327 705302474 892433623 670284468 414099630 964795564 898730861 311869311 539045391 723796503 931310588 998373327 563733548 573176196 908233979 248924305 680683767 224788898 808430104 688292788 960091977 430146299 242032590 849199541 462886688 806709753 636566169 859885521 726905499 630070359 116523681 519224282 417581970 238240500 960661440 625673412 252777417 289921268 791861376 107070411 283292580 182849622 393447301 571925417 951277860 998993805 774575874 450747066 308936975 184801499 477911551 333389540 948452215 380085014 629895777 494700537 942476963 746537527 235339182 219920224 552614696 981672917 382070956 931217888 444846363 280209843 608402262 820091549 546191432 209886138 815638051 787174632 645575934 491352469 523299226 711633122 267071108 872356528 355675843 543470590 127144255 225351501 481101169 346373815 271034540 688734246 703561067 163547053 824400714 378081907 400671190 141997143 788464471 935551430 882111948 601562623 380747339 924058974 383556483 237689881 922815161 932497216 778374307 112785570 611292587 810644177 728179855 163508164 860927379 289087156 517779283 292211948 905002668 280738856 189287952 644111129 110471255 839646906 379538231 348797113 450267769 704757447 637955800 815734917 129319996 170799811 721650677 800698807 727043524 272768323 109464537 841324370 947665537 926084808 679503534 234874671 736743681 598301848 934785193 283444997 214351521 280249416 547569463 237056688 200878566 361705331 866624386 400909405 963705745 174312216 646642375 759039801 664557880 106783502 207255262 278896292 260936013 464171478 436040796 246728163 437609665 652408126 644183760 233603719 323574131 673782224 688243161 569986511 334392245 972370788 264065149 861158361 582989880 768825453 850705157 846673462 589519635 946472378 544164757 136045090 648757994 238859937 154863074 110811744 560554890 972476433 157097197 997623426 861332888 886027669 863601549 919605239 710583044 446681539 551185590 675926540 406228949 410958400 534532226 932679766 143069554 880752406 607771832 256240001 548096255 817306030 265636229 134474391 414733455 515745878 339621264 589519511 657862088 287479317 636959836 985488131 883893418 712417350 828775833 916225048 103627103 350694884 785956302 339005053 726782370 744385220 819950155 511922487 146156177 990388775 509028842 737896886 352867939 261604293 243664657 191872538 712862525 960307545 526463417 161830557 859362065 832441422 560495521 709512931 949859843 148428427 639216913 822901742 618028454 782258295 325826574 719182286 324833388 591833480 196342043 629667333 654674124 818143756 614953253 297380556 637788393 481704440 920720172 132202517 251187168 170088770 127982507 635553825 216654801 317659488 217464478 209664220 655321168 444913400 921456982 895566972 489442726 251890431 324110494 963108411 158312037 107304808 646145822 769246400 421284814 631446041 897685389 259351894 955840684 925373302 881090742 693045093 943693148 907846666 643416817 129103938 453108868 924401076 231505904 238831424 889081528 438289442 305308827 332440284 728339094 805462056 604835087 566356724 630583144 834764681 630434047 534901293 829659949 324726705 268941347 678406954 525222147 109879538 467880215 143718309 934137979 778807329 208212545 293341520 716853622 371680440 638860076 754284537 888530296 126758963 214652845 646743318 664301694 420621441 117267326 256124619 532854778 470486095 345523251 914041659 724000723 935949053 698097187 153861335 315261946 895320710 704327912 380115446 220416839 509090434 440764700 230401393 420583892 537843738 887323024 581665195 170263649 833536391 550888391 470033112 581762777 328736012 746065171 268951203 159807584 550325189 616443110 834076890 741701697 225923803 427426200 206540458 594036349 439491358 661201794 915499990 454843862 528344912 474042390 985881587 830305699 164417357 460507806 697655604 648128350 146119833 592967617 354002373 436438175 711835061 142539667 174734075 467758669 643011526 544753632 846165009 373356677 483861446 247407437 534594056 436814534 452902927 425724602 980663702 168527487 634615284 554988238 356456698 949416854 776182432 705607526 686966946 883636196 177808227 338248505 610988796 845880903 899552632 388180914 447476128 112149517 904820135 676222661 834707150 797222741 499364651 893302148 863915543 257071085 964897854 878479756 472365886 195781772 857865104 432515085 606405223 607732813 980205192 612841139 355428842 470331148 157596479 214249611 468341883 480945769 119876916 861115826 111292305 444803304 624247561 777879606 193437333 834283134 232270112 191906687 489833342 944353111 956074891 177635186 713120582 453904887 331914796 695412437 478542660 853935496 787439758 278395652 523844638 391845521 753940919 288261657 683101244 721009107 722225198 926854237 162707130 392304744 492731218 187550348 858277944 278970654 543812535 649865235 760759308 145807782 809182646 228801872 699012869 137188227 262850281 130490336 688409987 477602004 109385621 817781069 821775856 861810788 352333266 472100756 260564942 741055098 537739141 735295230 735650053 134409027 671082210 835643937 115980363 729277240 846024578 231986446 690368049 529247453 176194932 845216634 991874452 708162301 555289099 985274752 477189941 191237588 106730633 842469338 832391109 288222645 107317940 366203601 788323837 157650365 934891961 469381941 207713635 536809688 917664150 918060757 818798146 854861613 868346691 941062217 899476728 181024399 355231584 578403250 801782050 188494055 457181188 600495239 929723574 912115883 168389490 426632954 651225506 229413897 478945357 536155793 894815304 319495902 726706247 423775104 593054560 799351026 612165555 115774269 392430719 558079066 344931901 240779192 744089198 338288287 391333932 200867383 685111427 386237864 716044338 513754581 891258036 682734209 789661210 877426960 637591342 836274957 755522417 368248126 689611134 467991723 148635262 698122759 993144021 696886058 302089397 898603604 738217864 334213760 714246136 699176283 443816970 261629093 337023356 397636464 598571193 998359811 708159519 831130887 615317728 292128353 224172469 747001526 812351756 245700694 906187070 860539350 326405009 427397810 617567963 706225963 849379407 246954479 910405284 875459486 373616677 272732403 695457925 664288282 208901160 956879478 334987977 711544698 836745073 660447721 767682225 257445623 328350044 580348499 881589791 470778672 615379868 345763740 194553653 232504375 972557344 588850049 955844073 761231047 176149247 677829746 702926153 996698979 941118827 100505548 138641675 215189402 973019303 744764441 276318666 992286496 222562033 436816591 319340228 948070803 757002174 305598840 928969191 637193405 498135640 803833514 685864624 515262951 812297739 946822369 600443064 407606651 809595573 642159144 810623929 994551865 555377660 559697605 994398044 323626862 298769552 828502664 789698293 883682207 334009144 642295025 497427462 432626211 503150535 716590473 569859742 922378213 827248367 501501262 518505138 996318908 426369729 733798570 753564079 443397421 606786068 383122438 239542281 581901144 191260822 607839225 977109958 885927264 419742258 220574393 302399619 987428434 422129792 298689809 519782280 894803871 445549921 352145951 752766732 105285117 300750303 612186649 495261990 628369963 139684803 654033503 469328280 110709047 464553400 970255622 974201703 240237381 289761418 909364588 497526060 467879873 804152436 410848510 648216705 748287847 786238025 263040248 260805233 191809763 607492940 192995484 586790943 595202844 984602527 994049450 317977147 925748551 751051630 758575480 695600506 888099693 498213374 869512086 227897685 919682003 418379909 122850752 654287946 976996559 759330971 757048847 750126433 655074574 993057115 464672491 338836130 821844084 934010589 247657964 105789607 551701238 528935732 475638721 127486874 506831945 823986348 877496261 501401143 786772083 125538228 922855292 325189684 686077512 356963250 409031591 307911395 979402947 848817014 903941177 884524658 502151576 132274249 260135617 767469530 867449580 636860351 339212856 332571945 956974752 874294311 230370923 849539592 682463369 811971573 316165156 377886277 138223835 702786324 624432356 515858537 711480668 393714813 542029828 738625625 631036753 564351922 536666972 652485593 518453008 868004196 259009818 654125229 675992345 459829349 687847975 825022536 287941462 925158631 584682102 129075237 654351063 853974473 704537745 929725634 352015166 660581964 582367191 746603931 555629775 617115286 710282656 318100094 959469057 609348564 375309987 929648457 972863517 106295051 152480223 264289073 297380774 757810803 229573495 247855937 992748513 401568013 149752920 569148751 826643568 950848380 686395178 500395338 407590866 722870340 847669393 395557151 151012174 579717015 717576798 271296207 402082319 794827492 697816231 751113131 477245913 178455640 972913254 666371528 312412321 114212825 473673459 444837064 945342985 142847922 621902943 733613159 442304241 322630415 683618707 702164763 526417373 683229987 371565123 205364669 553797589 189902632 379010841 492133560 967483376 376714439 183984823 750918642 674769339 559914861 698749749 147520388 473312251 335926120 302376160 542110506 326544840 677594663 916819601 911905245 931622804 670244755 509843263 497071358 660143233 900872977 377173609 723358709 663274128 193924355 211389943 830502093 752269131 917540976 153850759 499625878 434123866 617925955 607359858 897862466 759167414 795154245 378142660 864951574 506589030 713061628 546823743 447044088 899655785 732700455 430966565 553472813 230188573 385038168 962169219 179237985 462796895 510584414 442766482 171884415 579804783 455589358 388689641 367167941 972643449 152458433 255328559 138961142 527369070 506075807 933564307 454764662 861049417 174029218 340814782 111474424 815375490 420058699 816533279 526453495 962706688 127730554 239534219 157202766 890485859 805642595 713109082 382806572 682242341 720294372 650393504 598801641 409622105 871289705 150769070 277603477 843760591 752830234 618114606 109003166 885971065 705964685 841874452 738857268 113176168 327207496 407823427 438326899 358104682 994518646 636788919 761246039 731685863 606943202 902888589 212433862 158880518 335294274 392454447 992335311 838957211 200549944 183330967 542067829 409687541 573617665 281361444 438436358 261966562 525645026 155518287 227161146 139964273 459335390 297190042 409553405 936297716 158915709 842039592 798398501 601968076 937433984 868685119 150631928 446669623 805671364 843184463 729944884 720833888 561581629 621319689 316932179 440262980 157778996 141315174 205988736 584304438 199052543 666211634 942021111 125226626 318702589 811086288 959636343 480771436 936189198 131633584 625616525 676490131 368948168 970745186 201256327 187354733 474895064 345828463 711675603 483916130 115035553 902311160 244772327 668089122 267063780 911983451 828707624 197571091 769131592 860973696 772641713 668220888 801353797 308457320 401440172 285620479 513733776 848480843 309603265 982382073 377569581 783186329 913472665 667359351 390275540 270121828 643708344 509065525 373119939 764595442 354562147 577450810 835496450 982182657 909187106 936539906 337763272 439210801 520585238 560780953 292759153 956512416 244894806 295989389 820161573 769076180 394206374 504412118 154076076 359684991 319260951 849049433 307719964 147396075 723276631 186683085 941698754 740176013 374644932 485058780 162177519 669958797 848022730 231985925 363277940 913197665 333917170 689340642 543516279 957570531 841623098 906056050 441437669 166934360 127184897 308331870 652127305 714741484 652515259 356872947 807148415 896345062 934707332 436020062 341987897 756346903 171611820 735336796 511200952 243861466 690999948 507019354 154148788 951226911 898530663 179008716 784630295 334442031 362096448 817168524 286799059 710363954 280813712 814413252 290469166 326573588 481356740 766865790 173394145 706739636 876679249 686902758 407673733 407445944 476968543 955389694 965610573 446290816 485113295 357082628 886092878 494447418 958400961 462984178 883849439 279022959 745196856 825279337 274219998 850504004 421755442 185655866 738886850 244564521 153558168 799034364 795496227 663466832 772938370 472812773 879705585 433755085 959505860 215405644 692989392 897341641 433660850 901892956 485532970 517589706 330447171 223353827 530982709 968274853 385098113 231725807 916576280 653729069 386161613 372963801 788666683 536113943 573404063 248095278 153002464 328708971 140521102 235806541 652731401 941215665 507575542 121260146 320530694 784864001 536961684 547992586 443515238 309650138 776516891 242835411 614852831 789527070 819151918 266939236 907828607 601741305 727865639 777038449 941157805 579695288 131327063 637486776 406397187 352249023 110194289 376948145 408262415 660049717 239180658 860365523 422630159 692237702 492055864 460679627 919014479 374155134 771840041 468985468 960802854 596452441 305752375 294282411 362344930 704917602 326349768 462560724 197301563 948347925 115531570 240641607 279978789 794279135 114377057 474975425 597920307 181794925 433421068 407571776 811557538 877440725 704684313 635865860 573021327 914262328 797907629 116067386 172354049 218783636 365643185 349945394 416866476 665755922 151291645 245493861 789364831 130185860 909959919 756628046 181231303 562864324 523857283 847634601 106468175 861459175 507902957 169566549 817210502 516180516 421286155 445290581 997307799 235162297 618775150 495390590 784927392 875287005 938248309 502719472 661334171 977210140 285687607 312654728 233335321 123628454 114479345 992473725 506684055 287893920 296835995 788526834 785723992 782336636 646362435 711843308 782664890 872158217 826560675 654992003 820452997 756536817 481890501 118462397 222408850 220390766 820232866 939945149 372909079 395800601 439170613 390558759 559189454 966313694 914969723 913584923 996381265 273890209 467305133 405044139 595815470 474295851 331449278 209581804 135268605 850264124 440587642 395154578 925552918 189431159 906042284 649181053 368695463 688741737 128233361 961489193 486090244 899581546 854395444 285872318 895846313 955596433 453443959 565106105 760544501 701210236 845145269 929763924 210258724 852936892 591460328 824340237 998438079 992214765 757342860 635267233 538117171 602612509 877486540 965944583 732560857 355400289 225737147 813075616 257384778 314747860 676947950 135309451 947747338 811501507 264441558 475289241 227305100 147700692 730276513 512387030 637948167 560459047 381826858 476993054 893204581 868590130 263190724 674452402 406323587 665143982 550367333 787853811 966003569 751280028 355590845 608435537 291711468 445305983 514768435 151860385 129533007 924972160 713961363 391103771 866204107 711234353 751803391 551797262 571001801 189115138 945738807 529503728 663403311 357656866 450383306 499921401 252732907 798866033 876806225 500254822 185640756 842206019 712478573 780017924 155348122 789892184 472910937 546199869 419564328 500054444 234320524 622248422 945166437 764503337 922323421 641463739 714413702 947388636 448044429 392574305 421830829 419690503 923678587 165350432 963421155 200409082 605444165 204257764 826479872 988563062 303267043 638337184 773915533 401362603 915864560 206712533 683523100 654005628 906498697 994954586 229479693 208563300 167474320 456596633 707633459 725971776 480817363 617163456 329989241 787075359 118288472 451987099 122039484 496568494 199095205 740147779 410282723 615803744 937524780 855009096 246607322 927074020 483425026 819532206 108542380 935445396 834349803 214027731 508085398 371471054 820502269 810502747 684631850 244937778 220839771 642650138 606365535 496074942 372007254 642258056 922493969 935378514 590081247 986273168 183473885 929109889 133994325 901982529 923213312 195864012 351508843 765576773 864446497 626045653 792368799 746504058 591547309 252611483 302969698 313946969 749554650 536632132 750312720 409330733 735727322 329160943 610184200 299608851 932293936 549927233 332001488 629537510 551136443 811108664 285912593 374267701 650787355 723735682 930363164 355681118 611218194 805169532 542251478 758487887 720660549 390955372 732737142 176072998 798417263 206942243 243992835 702431637 220231099 250174104 243991019 680118203 348405786 565372941 767823765 311330282 674113767 290274473 648085378 680439291 246432591 950726465 320634644 120053347 119756714 358390620 720512252 393360112 647469527 533619785 392843222 204092368 824521822 451475621 637424452 175847241 712594841 305932402 885407966 439674556 915082895 875470071 895638731 420636040 999870885 255687467 817836972 637697141 871684193 546849048 658407485 694497231 292107880 155102551 480148744 585653871 143130025 701771912 997050170 154321732 621104412 780094476 327327761 311839925 924900103 748974452 658587645 818613853 530001206 962322798 734618370 789517965 950279983 124272344 758485466 653086462 169061328 553219732 763674704 893186576 146795185 945431248 409377968 338232215 894054596 118577168 369976440 626634705 471074566 634711154 677612867 763014702 895687951 451336986 834578348 726437312 271310412 462573421 187450586 447134679 717214451 925273080 662426093 470236984 693616840 342429271 703495177 578853611 646899936 557251999 457892130 934930969 546851729 232816829 831294436 213890476 884742535 398605410 140443337 950785879 553094929 260540184 613981326 347742884 685448610 867646955 160927803 718299540 429846246 432702845 407633149 894050192 643910569 821779657 824775218 271072250 198363057 378100768 901431641 386155930 214398472 984535651 825536077 870380352 909766471 154741234 312739780 394208386 136744432 975838830 557381773 425427682 254520015 757395503 830821618 256970774 762588472 234322000 254148344 107625201 101588006 299225970 352939118 715653435 610396674 412186219 666938987 908073526 752713841 112941077 709382803 677156036 390513329 638844285 399651557 196937485 128977309 365776448 420875669 983463028 239228592 397781409 649346867 610857984 598655367 922710005 897949587 597858190 144687080 633355239 317022468 530033549 693968097 231130000 230838394 949500004 338964578 691689408 844814183 889102686 261689487 528313454 411738871 450100145 432382047 240390105 630773568 861526747 100487408 787473781 679670529 359924714 165741039 202816480 374865881 665379710 887953477 712796967 827229846 492378547 242444909 980881946 639256510 318377290 645414624 173989449 694626795 881033273 735173070 310647816 955097525 750649561 465563911 433718395 866006100 740423011 772664693 235333906 794515562 878895813 630145310 592271466 440969011 172962246 683272089 886748052 301851371 233803179 852024542 605094931 987856641 365177062 294659781 380993086 931270097 147899430 490858056 646706402 651361237 962834065 834211889 593463976 486848352 573987734 585709437 826872565 796489650 843498422 538808143 941502145 858798725 266846735 425629913 546566741 610768879 610731039 377399148 962505579 883713403 670603568 617554478 790079630 219553540 443027175 443888398 309071760 942590971 650143687 645287534 338574721 277834020 767727142 517615862 311221289 827981386 729023943 315583583 478699370 371927646 356946693 387632948 564032708 292266172 982667608 668851038 414726851 460624199 468562021 524123472 913865352 235319386 912598886 730802730 316132549 314526693 942716196 457150358 673393955 422709341 170554424 265050541 159900205 974628112 422303273 303443353 813385961 539337926 291556946 784327011 163561032 554184431 554161145 206046174 164398790 747336585 530068742 837404418 720013774 816315577 865496951 134040730 174936712 507526907 343993125 596498305 979075171 853450376 999218072 848408584 672475717 706998269 720370551 332889118 276671433 630938616 145376498 102902669 767493154 848358674 121252819 126793747 273719189 246037770 162293446 542496914 797764890 786094215 433697308 316130869 682721116 118854213 677376296 888123080 295850211 170930781 879047603 273173188 945704141 135191806 967851436 684202657 722171182 383703790 819476729 757644466 400338535 392999951 489193922 102366454 150138358 183996337 278177584 709265149 220473771 546107373 328369704 858841943 904042879 114118503 385132625 513887976 366726943 312049068 947238777 551244588 375048084 628379362 435709619 915988021 937943407 671709299 753278105 658457178 882850929 330264446 777767288 667080386 229794933 858277850 327117000 612687192 544777867 626673459 432870118 394375352 575788006 607433752 922888242 487790495 741041016 650565398 392963487 293715563 333931364 751083486 635408725 632400615 325698646 723857709 550857740 159245581 315668823 560316935 267469807 286847123 440280407 766405842 785669496 731925708 207506540 244345426 682487732 830631874 926207530 586910007 104208179 143939891 734645522 902921050 628821035 246786447 494924620 621286407 296685842 856279787 764443260 477738749 259742485 665282466 587030211 955829621 441864186 612298065 527909516 122873522 511411460 308349145 333247191 743065452 244354664 170763993 683525700 695518275 920140085 150590855 670706838 613018689 181924415 879297333 807451325 808730040 545937729 756671321 752424191 993232063 493894768 189066368 352105258 657687063 450022247 111136126 396980748 610934947 188512512 769224964 661546596 891942840 605149833 721115781 349564962 469220573 722135524 770622644 389096191 804712656 622938256 171378964 488566578 540362009 548171700 684065823 647886187 984791654 803867553 286211611 510569850 389325831 732050468 112971710 789002615 476949006 319923221 783528232 865548324 839348140 472904641 162477821 113847917 682556526 810584215 545244979 962186787 548862023 800601173 745266179 945235314 170579227 415862032 416108416 335058642 185052527 146159252 888168382 664712217 572571867 220303228 420362645 171031151 877877969 657801929 618676199 573054451 948264027 694342573 419007695 688528154 909332637 658624017 609787926 986533230 996226968 485952399 303222457 560886954 916684953 245286866 258539863 509972791 413502794 386359531 118033355 925111033 370701398 866040116 184961335 813949394 106984040 850494405 576501012 664500751 359541374 489725149 407099539 775423661 221820297 770852287 118970652 426621990 655157678 209309254 266985339 412565660 216671176 870637866 137746252 548040529 278992184 740640475 188898246 501681584 492025487 106431709 529154805 210151780 262829183 927919170 246182093 574626458 401333874 304364173 897502571 437346484 690851338 165368604 910603874 897332169 235439692 317181251 712534868 351848598 669259333 754298556 966043734 837773769 300726401 303977911 140594803 251000076 579231879 692091080 653098195 728464150 434770356 925543366 313852429 317221267 191784251 340997677 552695815 941783163 106150140 780078653 548570274 156590438 104132160 427887047 286952182 674323817 711412072 809083968 525147614 500564380 182631759 781214083 933396691 358534175 531013192 654262150 915441105 640284238 359004278 424484430 919951452 863811190 349077324 305849556 396648079 863045944 517322405 431526274 619159195 919974323 203845658 371923810 939405364 657779258 534490226 562295315 350227419 599707394 632570033 263400998 965143721 424180335 827617705 758967033 613987477 142552213 682036866 585212698 182660313 820997901 939900054 113721040 794859059 490736637 950648593 747259070 718607757 895805683 659689336 659310159 735558789 434922999 552001005 883295317 542368589 975575648 426201879 463074368 970173021 850951204 249637511 771720689 519418355 736423733 215922083 309385444 688859112 366893959 698463009 924141285 848756007 870524868 976819313 477781258 333214527 652622265 382976243 766098491 757187093 991831182 699878112 801470773 804317897 459975311 129976596 195416767 214623968 630787288 636821149 849468536 200833846 575519456 132068922 207450349 404783544 722868191 715774369 127941078 703034295 842275068 849152677 791997916 477840179 315476640 977317104 165724010 195091401 965155564 760982702 381017072 505141827 496168751 984345523 387978760 940747488 697108487 424835756 509045892 669381609 120247775 916026402 607201773 870934341 293206352 308769994 789324832 259334482 844480362 128739611 196464626 964177195 617765202 601230910 634674999 928862404 575243521 490977111 317689892 254716784 263344204 229983778 304470732 866312817 395217247 380279969 841224335 969442533 561921441 997361391 284476420 613965324 311156431 129509496 926560771 449372453 904480998 135237594 952046189 149614738 126193449 864602640 337522153 371199608 449268180 939996039 257362494 972833098 823495871 115659877 374856470 646296049 732005359 268241738 349107160 452389151 488414325 524132287 509549387 177437693 489080134 288459296 904200850 548219846 395380891 787844750 657729440 357308022 637389633 867131840 863672145 877529581 641049293 787533936 491175117 957490898 380542758 361539643 452720683 466107367 777002160 770154362 354190101 340535591 243917300 224971777 298769579 944190440 333232651 788949896 416955329 828079464 876597594 172831228 291578920 630020173 574457724 821530905 205434375 642142726 921020985 502324435 449714196 266931458 913143777 577777068 661148126 278059922 840399132 231115664 589492046 106390045 759884741 107737059 811427975 561374354 154254040 263982490 198581170 138829070 454095971 340972201 514487847 493225304 567218794 919634935 204522362 761712016 468151749 115995873 941263147 883849519 881632515 326131266 625696269 988385972 562610313 139509118 233097808 272169575 550085822 995863760 305472509 392401313 250175372 673797492 945776267 775326516 320085992 702508073 689095855 374139513 233594918 342642592 657386479 737645758 613280402 543779537 228550933 134287745 818484430 232104632 720818291 740236233 272678131 737060057 502225043 962380004 454308522 827925899 448698634 984981442 600704742 287746564 864625016 213630795 796398942 548069055 508912806 613971960 710361633 928859519 233235693 406862567 793762359 331712358 560775841 532672145 503838929 967034465 979439514 958018151 609084835 475190369 292105956 125356953 201202743 607966809 589630558 269016993 392031731 204497099 526566808 160359155 231504894 666918191 634603246 434063657 894397292 722734743 727959325 852130473 197490094 562113892 963261609 392129678 186186135 203296133 322558478 267663583 182235251 446816314 290415712 919448325 565387885 436895768 531717661 867218724 613678661 433136852 808096676 302001054 738102476 858569904 644931611 535824992 706948039 500224177 392712379 566387686 389119594 664860893 523025013 999707075 703754353 727225660 303781140 211248039 111267892 606451616 334914780 961376487 275877781 670248545 235763526 641023112 711215127 599882014 600891004 334241812 781689595 795998521 147733534 471720140 544809804 336258033 920673604 832231873 953914998 592980043 166203000 198358737 388299153 316213132 145249469 272455824 227019715 980966905 778806892 903889685 477313840 310688001 159523767 940857652 182507670 930243581 662212251 118777887 583245378 178467516 147188693 308037111 528854440 889416644 242276504 676284517 186824714 260144004 827673823 658059138 462732306 208880605 580871216 427472389 383271548 962624194 395171975 357935366 180911735 573841892 141376396 342794982 746957974 961458305 818483279 115207109 197981133 205190604 904752920 159455486 805071314 302856681 819848695 176216835 976975848 409118146 615917241 477866996 601500322 448828992 859928131 571543328 745434568 516527258 588155791 393187808 852513964 724946998 252565762 312162523 236448558 905874130 344555871 508977913 600836654 540908844 566875734 358777689 156414544 359474969 924262480 562765127 628834502 658952909 777698527 192728820 320259233 147896778 117189860 102834590 172440105 570384146 587126225 364394231 185915636 391960965 598667573 492948477 332485639 109017871 206119891 224464770 528469772 447056713 346622772 157090382 568187467 289245681 346458512 512379608 870409864 532128350 210500295 517411942 860811638 124915299 671554643 242749160 306340913 920060697 187035901 138247012 248941007 799883930 555749469 493003176 150518910 708904533 996466699 194247795 235915931 855899070 442939789 763734680 642635188 621057443 714643486 181387808 572671165 994477793 353923237 559169128 357204671 884920719 217454133 615553011 703398982 626895510 776097712 114284478 470971675 309993413 643466476 795080488 634943783 355381629 291945124 100841356 802986985 664180951 845050784 520857812 704792118 306213883 551064729 840527884 749771754 376821976 552541238 862065660 214123332 873172436 808204379 851088752 518056199 256984095 256997484 208493160 314824484 764703310 993704880 636698470 994607600 870512618 738458745 527711103 963109675 874093630 656880913 439630141 343291971 178469981 800905900 712090572 463150185 145705852 740788645 957247159 881604363 671874690 308503934 878520276 548502227 209422349 428831395 421464742 620200056 270265172 476874899 795151721 837236657 583467292 120351456 188745684 444880864 453677971 773540558 279662798 691181146 803008484 230214655 383575342 345470504 116244888 296986247 779279484 423942531 392459227 885161087 236491324 887611277 131156756 100397040 711870928 861853219 657633307 835334940 399901999 295262021 589908006 116752664 793305357 178825725 555109119 296738410 987874052 369245244 763783497 746272113 432084417 986850207 764180045 389886131 578455583 361153043 917174178 725243152 356455148 592604734 380064828 326936135 225496060 680486632 300480153 909553204 588865781 534809101 162939877 347730691 665968971 800637047 639045821 610264618 467590253 972557647 934080381 989741069 558346396 164511822 175722267 933256654 998821208 231529540 126031426 216166450 381469000 274121019 385036350 522859256 899466081 838622233 321955149 856680015 661335786 220160253 192922643 654655480 858037855 212248058 447692294 484024203 360162894 500048409 499894270 105761805 196438468 376147898 245072104 528366425 477105315 873800967 165192936 113359951 358968024 361029520 882920540 370624191 202911221 393321827 942006988 637301703 545240058 215819237 957340414 295759013 733478782 742959474 131490130 710341102 285517460 425154622 879544271 371109549 944628264 396309847 607586677 215276690 329173313 441210320 712008681 804229613 879501337 972001889 252577377 117448262 924399601 710416729 340439109 830021617 780147965 428382533 771453409 773020894 358854245 503657101 301271272 553014211 694732349 347208341 984620496 851614690 121194805 252966739 895546526 976776904 905159714 410305326 571048723 864365995 289000383 521018129 700767772 879593153 536978068 870035520 473059472 637136424 431613187 328701702 242650271 608341633 476653656 831472057 743128566 967771650 758393303 983331920 599814547 998886548 792399117 794471380 648004557 114714536 937072297 457780336 350829991 857840990 804609599 865280817 733506100 437522101 177398169 170674728 770682752 430482773 432532045 239849512 702749607 108374366 786849798 859375311 341463741 675513813 888934805 472365985 598605053 924940071 116276244 519406630 712689876 511676724 229199882 877676987 424658055 489574713 386869902 595920409 335388434 464607445 295682520 592988455 476260213 350147582 271250659 863360763 399033137 989229394 310856652 521058797 424120149 586822981 253253542 904697349 641726055 155480375 111065889 249386266 600529481 520509845 273600239 602536381 102194510 108554597 673196029 350279246 271863045 431090501 592094146 428184599 200253153 613438574 814676633 495469807 960267556 151327246 139681046 911838313 454257260 889863133 970900945 851322686 741992471 477882705 485855395 673282150 240748883 570058319 265673210 671400094 607165346 184989964 474839690 329620732 225456486 861273431 562804178 504518815 332392701 324416106 374855916 466992648 685067244 936962981 887344110 482222000 315166692 320239975 589233225 897517882 397180511 286317471 860204886 714072836 166071399 115300227 429246834 860311031 478082580 269956162 145962257 440420082 162357963 975878302 722102312 572418805 695917689 914736184 352773293 295103128 107818807 924946441 680370966 204105784 886622313 140717473 723358676 885860886 942075857 346422253 939241273 603552542 992211484 285756995 157320692 168540946 428134797 527152272 964629880 497772928 392420816 984494524 409848586 500751871 579416519 298747931 353642686 557352079 437603543 256589657 301446186 168620095 634726161 454636815 966384710 972148065 105737851 700651930 784569436 548511194 343707333 485092612 717786927 572199806 154313498 352032834 386727792 729584332 371502082 989638156 312451385 108787063 396986565 875031882 145291995 227353242 540695530 434344268 695740655 682589895 557774563 753643434 229457060 524071291 352538474 214820325 864831329 897838712 180120092 124454505 790359546 910305301 390733537 343273592 792079461 961976258 312528680 516978208 314495572 598162516 832545957 400850799 338365680 165531317 449633503 457243417 895449378 325757705 188133624 589939700 928871267 281130110 293885141 507092125 336086200 898471169 112306706 758090237 651055668 753098635 395286197 944750023 443260682 993118357 839557784 331563376 309402765 998407317 504621542 889622807 420038027 954359567 520122941 640804555 262902417 602100667 126275767 861857681 807286756 178171094 697222565 998889502 413217066 359639457 656388249 714546742 121902831 340200183 860458816 191877675 301265364 977260789 866170803 315726201 716835916 271214409 331531647 396799315 981751952 649788181 301444464 588068066 160854020 730023722 690096166 680407744 132128196 274014949 304562959 684476658 113339115 252357504 112491003 735133484 952837200 406102336 827223869 886852018 636518624 824772828 836320121 439442874 868309971 862302590 534531473 449348236 692562149 249499935 424720788 695162957 861283164 213234618 535707168 909919775 671446328 699134701 567782100 464375832 569576936 163290072 327593887 482367122 314448335 810506074 347884236 432954804 786776454 719698830 331716878 152003457 141564272 191060436 898879233 722873135 957739401 665717091 526117942 358105129 811281468 888149351 613702041 152761630 497408952 692722089 901904887 924627922 542334303 866744013 773626148 114445028 927883726 771694842 711652045 135072352 683233242 926979782 215214400 134432386 739239310 735175638 422316760 949079309 939415240 567850871 244888150 693151585 947397529 418630752 303886245 459448621 662788358 507125148 884115100 380519669 142893233 806469936 316486651 463323892 451546854 874789792 885983109 380787162 386458466 642499690 137837412 113384920 563450195 249609662 737360161 526199215 689742425 767849647 365244213 229081131 688496272 249229925 731321714 695679337 652212653 969319756 141091820 375101880 606635906 534487055 194952455 613902928 965203392 992144905 836434396 596788430 485897627 616649544 905951380 560448323 396983949 362219528 257047420 524411384 164600285 442158252 140285386 176479933 749277947 193311231 901722338 933740205 244827069 425447488 817915008 814239807 848474416 681988595 673301080 236324160 255587241 251622734 953591316 367722277 408413922 426588938 937184392 554758854 100396049 174730628 894917811 960353690 986050149 323449868 495980645 339834515 515923480 664264736 332489777 737723250 369247773 641374505 493159025 771122497 948233629 582259937 130333379 409455973 914186949 691554363 679648562 110284391 106038266 916321337 419416931 494409563 471984605 400853878 258747582 441126825 530183323 609832024 304512344 531947361 254155361 145637448 647369045 558076973 784213138 279782506 309470644 667338850 478845093 665266309 165755489 298364715 614293051 710939225 185234031 818186553 297913936 697742035 290280370 284845598 450185448 221999262 329630502 389696569 485484076 338349871 259293201 934217802 775555906 323172122 800257305 245187811 995816308 384036452 892659172 938699304 562789208 894461784 407184261 318363018 838179956 181696565 884305512 467809257 479834322 388587513 165879142 686501657 706050165 937721402 169889511 855779895 430509026 240877114 238173517 897288425 541247898 536131007 332076427 441147406 673190945 130580307 397657815 675416180 271404878 134555285 340714762 882039425 214825693 826780024 287479883 272162340 655879380 293550332 420864459 626417772 837522480 678807072 311519604 388106733 629404057 607743573 486477052 420415755 160005369 635211431 617852022 724303211 777964995 175732820 540093722 233778732 730393778 349383521 254452274 716510322 249766756 678013822 623333559 984190350 614651784 726120448 872255986 828749916 150753816 591176387 641745291 391698106 600763991 713217468 368570835 816230830 870004664 651225445 303750323 152509402 968982453 483794124 165135061 472688302 671549523 276047879 878753763 784050946 230826090 514062068 956403117 965474905 162205519 728383188 770004585 201092655 884145250 338220339 609866512 910395873 131036944 380937713 987777519 942631838 338640319 206120527 392816447 136553265 327771927 778108008 925823594 640460226 995822196 140756777 977564291 553834246 327590167 316184926 796160885 812379693 823808442 850316250 956743029 559556450 202838737 445644205 380162777 870938275 162650439 747033215 503418681 612031319 820374279 498843693 981084652 406492354 378419948 568115134 449431249 341485248 178853316 104093623 652109126 469116235 789584623 361820181 983643914 211926538 129582656 736814814 135305771 269105803 806364781 295028643 391058897 833391692 670238473 898022233 899525657 494186807 232580019 623078147 846256752 351355785 883183072 348439779 530955591 405104765 373065887 538614841 516287984 974003357 677841110 260288320 139394167 587082662 457332560 988234740 255174473 947799199 150406829 643625057 603096606 893310517 271814407 153231756 352792710 553744932 793300316 864708136 266358693 588166421 150551209 272712329 674597646 558399786 669668692 268319585 730107764 822735696 538250416 718867259 484806050 494374265 848452640 745259002 897819395 398243433 600108024 455931022 348410765 762067977 448608044 623791320 123817728 583472534 440763164 758027208 335666729 549115174 472157653 933394146 571511290 794908733 531900115 108889424 106944353 177583365 245391503 197932617 490826829 976790506 813627331 108301825 110176640 662900825 103600220 483899765 993666477 811593965 814513645 260155073 210537199 209252238 162021604 427721741 803576970 345768938 590568146 580634979 711462585 715102954 663340144 632088013 684578744 506379173 455828702 794673185 837808954 702223630 461895686 972161261 905551962 227866120 327011079 351544255 497418111 796132482 429935614 355051797 889150992 399435030 991836080 945591189 663088228 233497781 941283979 294867610 183315423 375246549 261991065 339536619 589922261 663322576 712900762 209549892 309254923 654836069 552673646 877941116 907671670 251779162 102199963 371680995 622927826 607908381 410659401 222813197 381869424 132235044 258973282 499593716 790154968 661954279 142934243 913259742 615035810 147136032 451621281 641603461 959063461 990127791 544848485 337688893 437614583 664375597 537744117 502784351 488537672 107415858 186544786 186050911 527825366 740860276 552529488 861351855 132871793 613165901 609266945 133399255 362163924 475933116 572214575 662433356 867790330 153223003 868646373 904781535 262455660 129975343 124911942 429300276 510136362 938971311 663708631 856119966 508743014 327408202 213010230 361291730 533393414 448804437 204987329 401254678 294426413 280533902 773419006 936649003 758028820 322631401 646647052 171870331 432629253 846780894 969992793 273056883 948770785 897728765 635831066 379106797 111707562 647772455 172743159 314698420 781084889 298546328 572503963 446574901 312482503 290756750 633621423 771122505 217869705 685062071 707347903 926272182 427334251 536442711 528805391 667912621 214124012 675548039 191839689 770840081 466660270 319520779 654088859 651465900 428489250 564044219 589660038 809921446 124844884 880240147 809003549 585684253 425338439 827490193 731265646 810041161 408863089 592165968 728032190 144249091 192212823 956939884 232320748 298486842 916736191 777782052 291633537 917308471 203695693 980888388 459919126 353031692 621200913 306856910 977171777 818196570 197766392 520518345 883915889 107321058 224942255 137141020 155628698 505527292 926314221 799860584 324796593 114530211 556424807 555604342 188754110 346926676 779182879 386720955 548445455 402015922 558057329 361031515 643478866 969459557 804742868 238298418 561424350 482122495 844931258 514086170 443266945 254136625 250922770 468234711 116170204 414114061 944259596 508803668 681018180 889744211 585251721 665727138 808760798 814313578 853745078 925050799 828745078 990544926 124401213 829941748 830861507 728824914 609099668 823500020 521240624 920211279 227649931 490592665 905122965 881266505 614946481 465686194 226174641 564801223 981505409 964128768 473528862 739839324 635328729 824478967 254628283 617762071 304715237 344866242 937318724 144497142 165438242 365959326 435994687 989880294 401528371 300478354 271111123 843502496 795858840 165477973 565611574 393644877 241817610 177272133 912938882 775076177 630572029 232504651 105616187 602920130 826037788 672973881 462428012 779954691 831560526 674139907 996657012 378760346 417515740 490805981 614975577 273529929 745076651 856505795 932191657 995411960 487425640 457568939 514735203 125347155 704165951 855427182 910787476 826536107 967090409 689297671 637786914 898428934 204676145 215985232 506985826 557949194 517483895 253268812 679614992 483603637 204451611 517237026 581860834 284536706 607443211 258531658 332003926 231904296 821233297 163063306 431992521 808934780 992568628 983604761 523503594 232039080 449072791 949362814 108122638 145932733 505392816 316848926 830506431 898115188 178064761 837849780 164184955 836771837 519282205 251486274 991445671 949120162 907890824 220798923 272938989 569228939 194374033 851908100 588750747 971276825 814267134 735656002 762153619 569755123 392394322 823857384 283818362 687846882 906029116 496392708 630211294 696529907 810501394 984693117 944499191 537437885 258089254 283613716 177603482 905538459 333919608 472036560 257669616 751883166 233087735 231756171 680158940 649753309 437150686 293286522 779907228 185004446 454463321 977675470 983193143 413320011 363473609 594538012 558152410 487910555 246141957 948061363 869307543 405527216 320030388 959610265 175121766 701690683 720975077 729398495 551064283 407597750 978751596 869614739 609148063 139848786 767528340 614592941 691287349 648134486 736164937 313189364 736668455 501768065 600397928 702175947 353091269 901227432 290520515 594185182 702415092 347389093 884828717 759205923 306527168 460780039 769395126 773041516 105410771 243844886 971009231 234770535 505136912 304887202 818636662 407519473 121239923 546656047 761216178 704742638 104849431 250741343 470740274 742802508 523346835 966573249 902444619 682186127 101280147 257346957 658750247 168331072 263788281 946454011 914321960 241491490 996372019 156628828 944754185 577262076 478049223 910607346 182027505 565624035 242000131 787799848 834822415 486431742 892722313 571612165 411195834 334594717 255753464 300348581 488895161 389665042 765259372 357259198 275396088 288076083 236158507 125371288 204603421 342222594 878410046 797190107 871727111 672054336 666477470 811209066 897699025 556062753 976769620 891139264 759256981 914184302 827833131 578169837 908256480 355061588 637728012 453362270 451001382 123698670 638135311 175952249 682708943 653845138 734826782 349575590 122812143 168791567 255513169 764226313 147739030 156394516 135084815 904136006 909133894 267517435 506820115 382810531 977715927 791814034 513767834 115295516 871186732 206343543 635070040 322838498 578856075 691254781 692207211 867627857 117803562 951689238 398032165 983628806 323074711 566399995 124827210 680986775 880547950 904767944 831148301 316513787 408807904 263335863 343873872 385441651 248854088 890355503 301662332 473668520 456913604 221414574 217718288 917790987 886174736 934107301 780699341 397465631 235054181 748694253 828750332 341963894 106557205 310883751 630991477 212766497 880010184 136573692 365894157 628568554 241551005 108569094 268530943 719368923 866160329 757304105 507592745 491146328 561320199 583751916 107868833 326541676 104326202 108038582 136734866 376352158 565159968 746629557 231288560 379515847 629155155 406984782 215377701 286492682 612334270 438873619 208493754 214104480 121355884 170475704 858682794 849927026 167569122 893248882 422442249 295788423 665554941 898433288 879133725 223233088 924153365 322155060 438004039 542775612 624259139 911079370 225183527 396086341 714991459 912506021 424982997 527255718 645270153 854409119 752771406 576042391 922454741 796357268 489556546 353586514 681933214 572912314 756865164 823865553 902679423 447853932 512054865 689548545 392790195 726723859 269017944 571283089 296231869 728282618 385567029 353367799 441006922 370240341 610965368 342151664 986101036 236421665 910656316 961281001 572787067 606990680 373875021 520837818 792568732 234611187 746708358 736242849 976991353 660683018 133799231 217292872 265691204 212719179 397802396 340609277 814712580 143888288 353493871 450382663 444185124 318295794 689537471 375812957 892308873 593331195 698629922 919919317 419696602 745405009 909821534 168749399 935147344 599036915 187261232 587797531 706590280 963606863 945018697 487108816 978299397 358974964 596546056 587906590 273291472 505746622 418965307 965775686 863914353 647821122 727832660 599171015 300538323 536179931 706806306 999817177 465918563 884173388 961893823 704889027 307828240 488099327 510836646 311972688 615267015 715720729 158878928 233994805 998522715 570257789 923980160 741734496 958615242 670046588 771467114 102254099 677814235 195799503 957720454 255435477 895665608 568800821 575644875 775107936 589480190 221050418 994197490 457761535 820600764 206335853 746305209 847665446 241684553 595027665 306755133 237709611 732739260 690235945 746181130 796932802 365097229 519487180 528390104 795803981 385630362 994857654 773772826 164405348 568353842 922368977 814333630 229406200 781851701 308166807 772574990 361860680 450504907 421429902 385205155 659640246 999116723 228893120 302472951 850415186 363971036 417776321 774460884 921059031 500698864 673608543 859669185 535792722 816314597 293054707 495292870 287857819 438520634 867626990 812801821 129330448 353801231 715465218 689061741 191410291 102031212 310199148 544826455 236653624 627326887 136088606 589391671 833255955 470876484 460314170 649195625 356673021 249780352 548970758 138829951 267342432 477789177 415551439 737354428 627091094 869055980 483213813 732156678 738774812 880934551 315069183 795695350 541288454 178705989 247481192 769312126 822905754 246335727 161637004 128942229 550867583 343473804 207464468 701698733 159606786 284459599 455438787 895100786 138690073 681379733 321125356 358477571 978505591 864562016 980772660 861734234 378863031 852258202 675352932 547253503 838047250 372161941 851793708 438158162 317734961 916826906 125542542 109266538 277518099 899494235 626328501 137740243 539651986 241977343 707448441 596086491 337042626 469556880 960634396 398265762 949256526 656622478 252985423 739143935 204225096 911674760 972092638 187712109 735182370 787427284 196286367 614594574 306148070 407548250 893798345 110672775 433454150 896233728 682529960 658127868 526400669 985995427 621963312 618990860 696011585 370682250 799028987 847188246 505860512 473666755 317264223 480823381 568716086 452943706 925114771 189594361 357534045 863540866 375845575 398355520 149634373 126665000 327540656 619857268 308247834 438526108 782584667 427228156 932384447 821950903 888833668 665257062 523196563 902959289 380612313 225936153 228744868 104084438 566645521 582862177 469023272 293030716 618488949 344867758 490537762 750044261 130544189 579950044 416327705 601827981 975657560 784767084 395694300 132079337 481186670 959069672 722063475 490620595 478448568 330315761 722165385 918535142 855719410 575945399 588557557 593217460 973132227 916677935 303679493 612716190 263837848 384190685 934929531 748488276 781712886 593617266 232652468 152799057 261527516 728233371 625370985 852676931 527317940 575054837 624276255 183165910 630502300 510804086 388006797 719535491 191629303 292001831 668586949 160406891 959526031 615971693 421226139 754124345 875186876 156894134 574446304 967607935 422365705 358135520 582799979 602516846 362746278 900401931 367592948 191531969 987354505 705617065 105214492 285210239 280344668 434783160 381898984 992273111 495143744 114004516 547186378 469769607 865085708 776891236 361043246 915253627 789222775 764489206 829472825 290856036 571072101 493614391 815550703 710399697 679655301 666630306 513135114 663703561 245727293 170536954 882300734 957644617 650446071 947684156 484847140 149396255 622909335 251751725 863551419 762382664 814070711 794436909 954703084 518359435 967661760 975297375 584473338 949924014 231448266 154506706 911909880 574921775 160824412 304056535 531114477 667518885 597956847 717465147 684806618 185233705 158387387 936299389 171036263 357771140 235204815 102415965 734573201 968322405 611289227 279085777 470393907 890131679 988455184 732800624 439783656 574206032 473409485 167408588 502290715 219951303 877357245 510474366 696339025 129937319 821029715 403151241 589050239 910198890 436458731 785215097 884121407 286738862 554285561 297845092 913038474 841719270 624198000 251490065 481665421 382294587 727512806 225397193 313399735 693047554 632098108 402446647 958234833 292724486 341557753 485174406 807367571 717710014 236752732 363934999 417810646 950600967 656123274 148187202 569760146 798503723 102919493 836250658 390252528 166403564 425319206 878649968 550686197 779787784 698783714 504765200 628870183 668274818 524259289 462673233 883499463 774863889 724852468 900259254 375362794 527498744 112135856 667509607 696101424 831294185 300741456 605382359 100110853 786565561 495629965 499040547 655320734 371991762 539777063 302747850 833788900 741042916 213805220 557940894 310173942 779539091 335627578 163841761 904186517 908695283 795423560 915235038 151292796 403630858 704504198 364592779 393712631 806149302 713384055 245065821 239879615 608597904 253111501 416213063 854777249 231567664 338852132 879005542 110378742 201051294 225004748 856545903 819526854 488754899 856811117 356682619 500253013 820477343 371274227 460738028 925114531 733027661 381380814 745117867 799209453 342905234 945331370 402323138 197582858 697535049 424525871 687271534 806818002 201444840 384240031 364022542 339700631 146835005 958721943 356778855 605461845 464045517 845777377 613802468 572676268 674348764 399339207 263872911 918535402 488197331 818445444 477259323 617789278 782013359 653923367 507003193 795708089 162335204 826024120 485828033 357502693 658150944 444396863 181721571 212368379 249827039 545010807 586086599 274441452 437772545 706576975 514977996 298600705 973457113 765300883 794856247 584061137 527253727 342964190 972130311 799835759 870380320 541026462 551100320 826972459 264258911 545962610 749423292 246742268 404627730 751260025 636223996 196079961 259372963 573145202 566845216 743712207 617493561 861170802 926919885 199557756 292916941 982263506 248426261 899727101 419661019 443674183 873073524 980386177 613389426 904760602 989617387 736470345 471538341 701009246 108034137 777448810 665832646 336815217 642152120 507189209 720094363 146312097 455647616 688171907 863747254 445282079 648902340 569280632 877768670 758154531 310489480 109020609 308671513 158316710 431568109 859706373 639331523 420642618 232432594 174120706 564326934 141503093 504721669 488992357 596190099 114927349 251713955 497214567 927439809 688140368 637973954 561408935 773530865 178274758 874814726 239176190 703764723 595458432 792012163 477520104 708053070 218080018 294450893 462623642 798413856 543451844 645747801 413778992 788308217 737285548 716719701 167037989 416962104 382981447 644099021 204113200 288419401 854579600 523780172 709042683 303996922 799755934 414723501 695891251 188900499 465043727 205083068 916223684 920166721 967078043 181269487 867007807 174439549 540627816 988903200 578863048 663350905 930006624 379198707 713232362 566188615 229938280 963052984 596645804 656195318 553922663 173032414 229367449 110467248 267509758 765743963 681212513 104998552 511449811 789382483 538727502 858491852 510060731 179022545 103584114 898457108 692446158 548451317 927856616 316176223 488768996 277252809 776440306 832648528 278012142 190376638 431235734 362828009 382147982 550729018 973851666 136053390 461185867 852272745 475602271 321349381 267215902 700427827 405179458 332336820 556894746 972562838 771416149 911241129 249276872 340838198 913279128 526612530 254087357 907215024 851235137 717085409 167119973 285744591 631841160 791647237 664913438 645178964 845664829 115506016 473229163 359982367 241360183 179353130 504793262 258179046 500620407 179885675 257460230 957794462 737342314 716084349 866984191 691466172 625695175 269983504 416542479 884662264 638209749 508332316 536976111 135367321 516154775 114464181 515719401 245834494 580926080 206067930 133962559 539567379 663587687 416644667 557383983 832000601 502852257 181724266 384529633 775237157 707347447 719110708 728813203 823436538 858483428 329805251 563282567 904132724 126746475 180616819 844827204 876321100 443364838 464141763 434422794 737226837 100192328 929792691 240334094 105938563 502875331 857637998 308360772 506141878 980028811 281866097 293229971 395109914 658497075 963600947 558268525 671631786 101862376 871712176 156497758 909350554 131836731 877867735 971077142 152946458 365214116 494543899 562631853 193583466 351145654 974910345 925916683 661570922 336807035 559782070 795721611 865510667 904303632 229515286 955099145 275545293 867153995 249546576 958975018 875665617 198076631 968485726 539609404 774666205 833827375 340234480 546534306 491258129 203615300 470465978 119762355 224627316 481496119 995880031 502142553 796774637 198825253 775544607 955470739 255035882 888833362 295115975 916761911 709300031 123408114 794242148 656838244 214059247 150133444 736807930 219174899 154783406 833044405 732317376 158581511 170394795 989021088 713554799 391045076 826575591 439745988 640779587 701634968 281327273 280402077 781993919 606910553 242658578 273097068 907845562 858688625 219222391 231410483 109919105 865288411 420849244 935793214 641431927 266509024 662500172 656791174 453542952 110815093 223798000 698135899 772495189 418193634 223234044 672030938 967731806 949977478 491385872 364003629 751017455 851798152 946512364 264292125 377895233 177613035 381794997 876496660 881627646 378716136 793188906 494829922 920411012 414678080 657462352 707366320 146695237 393088089 612973861 151582433 443558616 153882780 756918263 624514718 345180515 618284981 114753702 182862561 515055686 512643717 320539782 430800362 621543987 640983043 761671184 708952786 856310998 845230196 332509253 185911283 983384798 570799700 771398475 359908139 916637137 765283690 179626707 662278679 430348427 369395351 993891596 829434419 116454121 388978294 150008314 940656877 897889546 158993346 758981302 937615587 185869087 156558802 779031136 212543855 939677486 464415185 413284303 459129292 872652867 376095488 739467632 417100280 851404484 623719400 153638218 403112358 363008308 539915047 651494015 898968071 250400331 108022440 605260471 713292181 259770416 128597700 903335514 147775064 331478160 333960845 180351911 670328671 414470109 841554096 846388836 477808734 444625059 581133013 455406876 611434996 884267789 795848683 881773151 651805834 894050295 440663839 870753364 621780008 697036391 391860851 230067944 955345193 130238763 796671590 835098330 665811980 449812192 651351220 451012383 166823058 321712734 838108548 623630557 147796853 479424402 603118050 116668858 261318490 390537730 586176782 457217781 502850134 406361839 507306047 580388026 113164500 188559617 438154644 643429584 517272656 593065419 799266864 679203908 400498518 232589498 620711816 553636692 866327467 411192123 383469489 484078318 942636342 850233010 431372198 335692120 771444021 914703760 766989992 504179728 285133098 405456088 549557653 406574462 811483873 985130788 931412891 654278368 207467204 116802043 420408716 112233508 973653883 858729060 274637666 609949485 916081871 501574653 800026663 930461925 677974889 707073137 911950269 717924989 850602789 262177579 317383663 935908321 763845364 934074369 883310913 395802445 470793951 555191115 472522769 704857299 306712766 199804026 304633509 704951298 734871785 345802937 356507885 545619080 608269280 186615480 594139011 665550506 731833767 363836066 375892523 883451227 620452291 571171428 524699958 971186739 131448427 114622580 750222840 974343468 854675995 356984123 470587786 812524642 819146741 775105442 482333025 208507922 634395786 900097289 312493335 596660123 207202009 419731988 335356562 165284762 975659932 222806749 636946437 430670011 696173333 289898791 586186696 689301698 455274707 522059204 205029376 585117093 606770982 638414156 216651909 241200551 372293547 904655985 205653035 691230536 692594914 317693497 919550129 859174608 665111416 450519099 315685236 592094264 501199981 486923722 911928906 730972572 376256722 630986802 678869765 485471846 806238051 816251034 875572521 748667511 991905588 267626470 177554218 524189382 295274191 917252290 271860938 737460095 484364980 380608854 456837207 831486359 473589161 575499897 896382844 913184325 739460415 504676467 757999232 498458532 402314417 919784112 499733620 406059525 943993131 907100947 183275983 677609807 765659742 593987199 298149167 511160374 975766506 748476963 775249091 608991983 901935254 898747295 303527528 994840555 251044238 604357580 561108502 511833030 560875935 619360415 607236239 302333268 697275141 218514736 526931518 622190831 384740624 898418061 124848360 919570813 739552015 995791772 139658724 340633384 201881868 654979653 587402536 314021104 909017821 685406122 262462629 331200836 706697916 111110290 830754057 852572952 114823079 960911856 930081058 444358822 132570749 475577100 762620624 190523307 242703749 184334172 995363244 215390832 793569080 526606385 347100876 589885557 440256599 425915717 203785168 389660555 370432452 175270497 166165944 106770691 732055779 104944381 576359093 397365834 793552185 626914460 479295815 221929411 407211801 736853903 124499451 306062722 524653553 975050384 375263484 449201751 719961084 951817040 899545855 625532395 915486231 585264470 723343106 189028176 672475860 766237075 416484088 342438550 305890948 662998181 666970176 718975054 945396241 220584197 879403498 269396274 355949562 631736633 453056515 702954696 790119706 682557821 552836589 931787406 964948840 802912980 770057431 885004101 968275392 634879797 995628090 724039609 426043512 858457235 538348344 357134453 420920115 156638086 433377933 724355826 972003927 598105628 838550852 467043462 520641797 406372243 539584987 994828520 101822281 960754153 975190530 870328135 883115562 249092991 269838690 446031495 349243336 108503383 574379120 903549005 611634277 816022653 239443190 903294437 518948776 438010604 604938312 652371006 468357309 168019929 629675816 338726859 112203052 182660207 353001705 758424817 829399064 215743076 738710647 524049264 348484231 306545055 227024464 554417298 697020840 524454152 322795233 666297350 165649591 193781539 672228521 521910832 850961231 643520611 430692285 133130816 691640768 830598199 974300596 598352125 502253579 782836326 807020242 410585884 376835415 106174299 511833070 777072673 991752944 625641314 723912530 611846839 191694994 863095336 263170128 425937381 502257568 213104167 367460262 431450005 940455350 374831991 343771845 794907472 563478106 424128219 677284075 158191710 915667943 512652459 686891697 489867930 835461770 995605596 405690489 761555506 356305191 438941448 519098748 170265204 873086312 807683242 656275197 145525623 522969802 549800317 458233333 784792096 857059461 934597451 645066968 618960531 814815080 317574772 964847260 359670510 987193916 782663969 308396749 670723885 101782704 733621182 408743743 980634941 750468648 687685326 442848152 469187456 635745711 597329494 151022971 963440756 221663138 903300965 783299295 113883411 711086676 670642099 375806757 858728112 514125216 547314044 524138772 662096491 957648579 457804334 262808496 386370353 984212619 751261722 822616479 806831895 700489050 986802503 856378268 555275169 646072683 516893284 156838130 152722349 215817510 235592202 350738018 864116779 929016653 949537577 395216843 679140310 888751231 167660948 769812312 626202358 748480254 673072316 156924178 330312316 965594686 758610661 448505014 346846873 191472858 809173683 340911597 169949354 703568319 931529702 370719561 179460040 297078786 384971183 206375057 950183588 518156374 254976877 656546430 171343277 487313897 120863710 371565028 513718990 273262427 179683858 140297235 199588934 599807853 201458436 498421999 340204501 116243611 137352258 269470581 961404888 719356773 249890138 813683702 938360896 365206568 283033958 987751726 574267181 891736406 826379868 922155194 816203385 428580420 404022014 592352150 440363654 104000623 392956188 144812388 714812947 887303267 612894914 524361639 615472475 799862005 745461050 241859647 731318162 185466974 502597046 429559824 866341746 472161413 444626066 375643196 972849075 226028843 462924052 969792674 547673395 652652487 346293066 845201461 876984990 458446320 201238511 247452393 759216872 407636204 810503837 621320180 460194520 805119485 753443740 629822922 405035127 716799403 824844193 897384634 555724209 867000561 989958198 612567303 131649613 157221870 824189612 332756986 584204576 771733702 485540932 643954078 439064601 663338430 476918130 890120137 160325811 392063361 652506302 127433345 966103071 865570384 157920204 793915234 211892004 111393217 701162901 616050460 658460141 153499103 224159652 672909293 988750097 560304335 733160925 415060829 814548009 189458842 961396968 984550086 721146549 259505170 618153432 545858470 848450619 673298692 453373766 298139757 841716780 410443033 287274302 647580256 538706175 145686367 428351937 808871937 722773657 246219140 217854195 700941955 400279491 656593503 779151738 505507057 385983055 195904151 999528927 156903263 889252351 356687273 971968617 398233378 873133823 496051867 834738910 825525255 761947338 713309766 449153718 394985700 528522711 224440682 996115310 350400911 500391028 447973144 663746352 884343525 856148655 976321741 706372491 340555566 507280537 634614055 238322449 276383075 838945821 410908150 998181485 328358232 233457257 234678241 394666025 440344411 488830909 586427989 421922231 531798374 158482985 766759720 132223058 223339352 634798024 726323667 610740427 256396378 365711517 533694640 362641581 841289374 791525377 294764508 725162962 657042818 999400660 334026851 222171858 904663835 872433600 448359198 806280223 830081947 753798633 938472534 657585662 508235801 660367767 569532569 700559300 112373881 324488641 708987658 608546436 532909809 843434909 928771446 596985818 513781574 218689646 229897136 974490875 276539858 820251377 182451194 221601652 725591633 242463733 507400654 647156629 213520604 147485020 492040727 741548353 279141526 189812766 984737760 118438288 826038172 490652989 704437621 346846237 907943630 155921202 236360737 710480963 795417225 293322650 250192797 994493406 446878328 616061144 574025949 191905726 188762989 955101818 357435857 573697106 605113753 374752621 928601083 893892750 166221570 818385374 581753023 331156783 186236627 696759065 855901867 180488460 238918751 160157765 621811245 892148054 177458443 211314203 632778017 564642284 804003694 969037028 757932892 740342768 701628971 474893720 949077992 136915612 702959429 521612968 198440640 892785786 136078919 538838829 332619119 842659371 907817969 217784922 545364551 556325307 595045367 323966723 353171063 225800257 792466287 146557000 614175412 592955015 709648125 949101804 182823634 242690817 549058004 165491119 253241105 752923148 851726873 776182074 873163436 127975513 884085521 210786312 940285922 194326892 838152031 982165735 762208740 126575469 207808320 586260403 328460134 467328811 967931980 508548592 328089404 172641008 751664286 607813963 149999773 544706375 726629267 456232299 997936920 921510087 394741163 908269847 468357991 784559046 913108057 452116747 898226752 723586296 481751193 577732950 911779986 864919926 352694961 138102260 260797020 743420047 373529675 761640322 870583593 520787565 127670426 514212415 219732352 143651215 329499959 167318678 103217531 762915229 408943995 807202335 526533711 630063322 862598376 814450625 260722789 439984449 697376964 358657157 336838183 546286051 741842143 649432730 711367736 908662199 194660447 980782835 774930454 394436893 457143991 677921309 545300737 830251796 989648988 397810304 944003837 954270254 164949556 965950600 439778029 602473843 336397592 869408229 358044791 853763107 804154929 175231772 112061245 934350533 985964340 741843893 999275092 661150040 610130344 660186996 910096189 306855494 637256933 958865831 971245536 688843891 803908935 840321015 894655814 822519738 767162348 180347077 378025563 395555522 293750334 183271681 747888852 986450569 308091960 496306081 818665304 311973120 196594440 607513474 530757176 676022033 182449934 147978388 210597424 438563795 179950915 313257624 233919898 465466646 342985392 140757004 648154775 446959925 512290499 724543868 392818654 605698021 674899844 271644048 708822997 101374255 672882832 610922452 250180846 708296202 791749275 289325455 646399496 538317305 373092218 729215284 673349321 552126178 400615952 282624318 356691404 900149137 708255733 367095745 780938861 479938963 156091394 676186508 956746922 604686747 420217274 583232775 723180467 908797580 769538564 973167631 843327105 220331524 748310983 468754939 255283627 382395742 984832840 144532547 225869251 369072758 297536954 368118243 490717381 375671211 549720527 746300217 661011268 437722792 340404941 844276008 896769872 690717380 982726460 987175588 335358321 591876618 538028674 789426198 823072716 301368308 657914904 568567235 793015540 132562898 755403911 724348847 437416653 598979527 171657973 223883048 860703805 519172417 490657097 126767568 450781432 188194294 533065478 221022101 121283772 513102307 319187010 175462782 418948817 148885605 498947142 118821954 171084225 620513482 470030229 633670667 609610606 264116950 854993990 267968105 995182353 946898058 339757644 723893215 676696755 259504806 709648965 234736598 627752873 384969846 507774403 540161957 980004656 914567765 232820888 407198649 555327451 376338433 697266640 829300989 704530487 520538454 516980816 825960006 685225610 650260674 676911830 249724700 107412475 846525229 417653666 573695066 134055326 505587179 228945187 178374980 701598899 916540809 881067856 491116283 898600903 787291156 809919916 921251673 720972311 173434264 830724557 853888806 755133435 371279983 606292540 850147030 227295122 657002823 427251164 958072086 395526716 656538695 121264003 409670479 236459805 156019180 841812520 233904544 518628042 995459612 650261752 264192335 374907488 610253379 515326084 314933316 148136423 442379517 619555321 215174531 814228194 267314020 148715257 271735977 778804811 414647614 660759822 910844964 202970545 256293320 695665937 127297775 789178776 197974277 289008255 788399529 317684924 586970429 157432100 279591968 476612811 806906994 297791518 441540387 348997062 246273528 349576121 937857614 462869525 905395971 837709542 564857392 215143048 177869786 937435088 640717124 415528588 677637694 622910796 796200722 712051144 389419272 813052836 806963380 344446477 500402009 916639246 409500372 571345331 792012870 256290090 951480851 545514146 739183492 194344177 205800498 542167074 688789051 566570139 284412478 616128985 843642136 323383734 559870034 919942340 834303895 638994419 342104717 343012330 675410906 597258176 658036465 997478775 957633372 791244718 322099736 509053798 505285632 820764322 772891240 202031669 878470010 179195298 840161538 749482711 856733895 561276210 447390174 655041326 365156000 883169704 922270912 393478718 682815537 811890443 372556627 450000727 665285046 118490423 770799649 986597686 998296967 744709900 442955602 248303144 149383826 837329616 487407645 574892078 601391732 471565291 500779773 117998612 587458880 739930676 290848606 816754890 339061993 417557751 769824796 514428304 124110758 880794050 947251655 157023766 159652585 996536785 673140547 115476479 381240930 542219560 269294040 454664823 813726339 487983473 188385057 476882475 175431322 285036965 476918612 690154914 383725339 963325855 872983476 316522235 962776146 701577171 778443802 624731102 660642831 629113632 500720328 947081258 893086277 736192296 326304600 763892678 938713885 856302791 271337445 733731850 586749580 291442944 615943678 573308656 492751629 704774232 306148973 741226166 461479025 468538736 234419047 369724084 480897150 990271066 710872893 417602793 304012751 367882810 301779123 253846881 302108806 256737429 650942441 721180853 281369120 659302113 766582983 730516066 162372187 551796995 122120885 868907006 295782757 978959145 433318380 824021471 720143367 285874460 539075030 126501934 863884945 177896133 490406240 126986385 532288602 164766823 131342990 557109323 664533214 732144816 453297656 681875219 935920861 711568286 167871739 440674977 198301735 548359757 499516181 809223301 436952560 733252829 695630304 500739553 879775162 191109583 932382618 569506289 889889426 653954083 478971388 100329247 688281200 966609788 905086496 649816322 788676153 773377902 698182411 659541527 727475622 379370335 703580638 409879580 677888312 711967312 345328867 724368041 482007305 805349708 183630976 829735205 968725279 714352523 669363041 988952617 223955214 690455763 566112825 432070057 392405444 337504145 358910862 397739777 451406493 241946023 584882212 378136215 737445263 923362333 852361201 743240648 595943705 392519207 300498306 885986260 294550270 884737674 160915882 243276965 594706662 166677393 389727416 323333321 553975631 837960984 298109743 404090873 965698248 829445150 405076829 100409241 409684854 445902520 285579754 589290767 251676476 694519237 627430874 442192752 835788604 452609328 385531750 109452035 799651973 467484628 199480243 672047972 950012163 788251933 485591962 508206509 478607536 111208440 584771797 732254992 174286255 588731469 660026284 656230788 585360014 105837794 803494264 378533001 746700610 540226036 204020798 313697553 789130537 579378474 307446982 886713529 379734517 921500110 414507839 946710291 533166682 995275439 241709655 341803763 737010788 869103991 814779509 491280902 219024371 858843780 212389222 210600443 462546467 826265521 907164566 551805913 500438566 398082445 960067274 498784048 573374119 686184500 877277225 303307575 187953270 105256085 546158356 657653949 941552214 282888926 804366427 631968110 229600208 115401724 610382992 684772413 348941824 811225699 500448376 993316271 739426170 393629596 517843979 226694308 218437487 503953914 477795382 306016442 965746952 829982856 515816571 644772549 202573402 835447132 713905896 684158959 147443242 995872860 904102133 842178128 313267283 727466951 129729928 217882447 518256612 652690669 656576287 653636371 309722325 949899448 934926745 730472718 523845749 805348620 959177237 254753017 136036831 421064866 435770735 707818567 448170489 394905417 580032578 681495964 594475382 915008110 687955093 442165090 848987451 452121780 258348292 971706477 544793127 982836486 322305318 671550002 470407951 413688341 732619419 542145888 304353991 211912424 333384496 589659970 653813276 627001965 435219284 448153130 688281567 322279867 275436301 800935217 900850194 386319575 559133461 486337518 159700149 300725777 316455345 629408468 219096341 955913025 216629059 380924371 544430283 725502628 453499801 492061695 110021448 471945901 623820897 612399549 572032190 618777553 700921945 450767812 877262459 958170948 477045289 991940133 746884960 537715634 703633104 613167566 754240738 304529644 850042340 104798473 813750431 243541170 513146275 242668885 295667718 562626027 429387110 316211855 501927166 724937079 291997894 813937137 210311786 153530243 668223889 422671226 759118249 380767649 503507890 544449429 502824724 925761112 461992472 303261154 691137555 439443747 167118504 376941212 245725734 713204501 505100006 470704947 694041425 994923701 336120573 971979801 368890075 382922284 502003622 534187732 536175127 919891958 880994994 701793749 146353963 701829973 138353317 845827757 379297704 836091555 727657963 705373812 841194190 692615318 760924552 460190124 733305429 399365245 250015390 400503367 674997843 161656413 986283528 706032006 779460710 964909949 290353407 688495704 782807518 392950573 703016333 594691748 990450626 683797005 888364065 458464541 307936267 352551732 487337997 926625909 861170492 982634426 811038944 626079455 903351476 365929831 197992192 929324889 978584071 523221750 779200980 438069887 641461275 164156589 578966156 363619005 477606092 983604042 218784045 475572682 503764330 868110860 436335822 769366672 828159187 468122626 312605558 486716469 764893578 998498748 183362494 687310127 769250585 507794684 622350005 233910413 883016074 310550720 238984845 262038419 711714873 542219119 207384113 319935075 509649888 133105159 585671369 627819407 568306497 575040798 173823285 949209715 963434122 330866157 646010260 929158871 631907722 420105030 670997582 571378934 508676694 210786757 525942416 737614273 840288213 330639128 543079843 487509346 398961987 124062339 188321006 780190253 990311238 211737548 975854710 480356185 174924586 773516902 518499384 571488517 327335965 710998378 719703048 558107267 255881253 198878335 917158038 512289325 838407091 159436880 589621961 642641539 251811529 906654405 131529083 430758513 413608685 971751642 506677357 644791226 831826309 554667554 566885745 667417044 332578137 440561872 637096490 831854538 747919181 646315419 492531797 545841654 773819561 752664323 786131174 654884564 756252168 310311453 483387540 870666808 165085645 600997708 100099929 856603196 400867250 540832322 569189419 471549702 620516212 230966662 642702134 750196692 548572225 575549976 537737320 376077911 496742650 441165940 639668118 508647045 720587188 621454132 794197622 936239332 214050768 251743428 908624489 895788780 679055048 964180345 285566749 553683256 277565731 689004693 816376802 289591851 661297578 809031374 420221354 702923921 684785873 595622833 744711485 276676487 911756365 229918590 231616769 339501548 432718833 415505264 846886285 851738977 150298291 384925437 866513872 418296363 284690415 641347817 531010786 333944507 877823372 125173722 752777427 957381470 589112840 724703740 760174009 153216334 754600242 372639346 166161650 314872586 970980049 415219986 181038700 107086381 677303736 699888393 387403244 696030542 547543200 948317590 755832744 853558039 899895876 575635888 272069488 172679138 951217634 809563576 899641794 846604179 777128968 349630860 434019807 852064965 118019252 690804236 921473089 635981304 207333923 695958249 382527204 656597429 998513989 424743486 813079227 770789495 676932647 425535740 505863639 907781100 862521197 157282311 753267207 713953957 387667589 447093537 724386025 880273843 149549393 606264679 627113384 340840632 553118308 144621432 721429308 508957146 773534465 154832305 567345077 325649994 957763395 594485156 681456433 581768624 845027257 520523771 730129409 265384951 562149235 837823800 314545229 209546130 369700326 609960062 900885315 754985706 168113438 298801516 621054724 866453754 996136268 755838236 234150600 662146596 810193197 733080801 481532329 387477440 382603684 753231842 197751177 640067519 635160448 852422940 581013264 709626451 562727504 377702262 321929389 707582605 172677334 385345631 401421897 547336409 211901973 246410902 426909388 481604398 107905622 925601772 471167562 206761768 158298323 281374723 813776762 553630320 513498171 951671620 973879140 439114603 736262812 698547915 125278973 400676425 679268971 324464177 941692749 779102286 843456461 138157176 221189584 360790127 932780937 749773825 809578759 756654187 289216849 527954178 175291715 365795367 739115401 963341043 104870173 281969349 331746949 210082340 582438183 319248625 482977506 787579605 298124048 715183088 865600972 557768858 336801534 677235564 427393098 468749409 140308869 986236615 481852612 471362453 770374647 632107836 357300705 521550263 892191785 246500282 503735789 832999153 213605984 552627496 375883488 740215451 245782491 768311526 500406435 357941802 993397299 885380217 801103345 911676162 490626089 535395334 731969965 130416487 339087725 622276534 150861773 112274389 648762672 698864082 423040879 685520884 589465537 658828385 133604546 857875624 571534572 310122134 981969051 959307924 505834721 230400242 123455608 672037330 854954921 213026078 144580944 191306208 310365899 484538965 528211219 790876842 950195798 162766859 861437943 112516303 366204592 323133456 497925587 685372873 820750008 224953987 466882682 644708055 150808056 447694119 438515264 982836450 534291691 448179501 141986141 121405448 689715071 755720734 566136539 224371467 674672110 710692970 886503697 546058577 468570320 431695949 497884577 436052693 742383636 696526368 673403804 850726717 691001770 582519515 998123728 638276679 859261688 747875064 246211277 476075832 615852944 167532533 784583274 281072502 313827648 869077694 394601214 231509065 437459971 850016892 671741849 476502612 167348985 559368926 426322505 690736232 302264576 818507048 624081622 779885996 369517569 567977393 440663300 193866151 586770602 582999839 542687976 779904952 722695830 434271412 381957293 742428166 249262500 342869854 456418866 856816440 878888127 234165462 461665703 301145505 493191661 414898515 783382093 176914992 670979329 202800974 836496146 930617641 794904402 733726802 114793933 772453672 575717723 282255606 162868918 527637673 952723608 889600236 290910502 124969876 978362951 741786047 907404677 188583167 328009964 270150649 183652984 338829147 245338970 873992093 705072291 572955884 241450077 674413674 939040106 378964933 720179171 479250126 186988246 634792123 512895659 618376888 251632087 611410952 412627486 151797098 158892582 225429855 941527700 199209371 611766092 799116370 148932044 147516560 593945703 671686401 144694491 426100128 352133378 575017771 705954822 892794724 790136643 338137073 858898768 920256637 916858262 384393591 548930600 789217857 644247470 246005623 706167521 248930180 965079337 915066280 327051852 129133334 550700356 675631014 352586560 893586664 952673300 879415699 765586273 448328279 338107108 531633437 839149047 136271701 362513495 444781448 623928629 417329377 336212106 506230168 278626304 705975381 856993964 466179640 822893126 940439636 311571596 283769440 509723775 332713454 514149287 637117443 102628039 187654670 410348700 439840467 815005708 284457979 602073233 152586773 426812650 300201066 192687211 385705290 137710571 183758675 682159185 744766477 186299297 671888265 930470590 748972588 102693592 469670996 275186121 672893410 954114271 806272225 899371341 433249437 376789944 225693669 162742648 236595127 388174400 213417401 976433120 641024169 783252553 779343459 948851525 689615658 205437636 876279960 656536561 681138328 253905401 727818987 553338452 730205740 837418096 468218205 859212153 766910571 112178552 847609794 969861913 904254331 948089656 554862850 948058634 215800828 180713993 420470278 801944266 357298035 800202436 548954807 866204857 729036869 603399329 299111993 342638920 264441432 995450039 879855871 843678538 109164310 224964910 355925059 698631221 247969105 618004417 351444747 349464457 630596243 378897705 464348776 716675496 711278095 654151444 613295441 261978412 822048715 736146672 757826245 746959590 505146823 712107096 220385221 792046964 530095462 978936290 181038857 563648071 258422549 488014632 515236157 671133776 695186948 245461695 130306591 973687237 694203537 800568406 498576108 932866292 820834018 673172664 280473643 683025166 871008379 972992992 149464570 233776794 691762046 939723984 467524618 609012570 796220414 972602657 434027342 409169371 721164016 551009704 735895621 690761350 162345182 751944632 796795684 448199030 876767251 741055039 739274183 541990683 267963218 326510493 217885731 199333286 244265227 312781529 555183033 191946919 952161270 194614192 760282174 358928274 460829722 132235445 635568741 500768148 282535664 668923744 750704037 225572343 318208887 617316656 821537764 727553159 398742226 256311733 623400198 488332080 637991397 768001192 239078815 633099682 771012692 879527509 969071584 748875174 288363241 978036280 914983085 785855630 680994136 530660270 400846719 564033536 650473748 305280147 339239887 207880748 262100198 717719983 433510462 886549898 772293969 876665185 732568528 418848103 493633332 409831201 275391125 625118660 880045694 357805654 471486415 523169860 636320874 965351561 920475686 882491317 995553882 273930939 498795872 635805052 581337611 147783303 742381614 767466752 945247304 837445739 950035322 821958002 253539258 214361458 607845471 588483418 254704468 204476066 464964174 149578906 948866220 805504098 589834672 102502008 559890921 519111143 116528478 406013775 384848004 815801295 260281060 399731236 867434555 695618109 870468449 125010433 752431247 427045924 963044062 776651419 204280096 166838601 666328251 620972092 820897270 526111554 683190466 457209290 870517958 120228305 198050106 303983935 654944109 754997093 873330978 245006526 294586348 869906770 968989236 322848507 753213945 328985346 328917118 242671742 291599436 554502450 768564586 183621462 548590423 935266322 795825486 713029807 207178822 659459936 524093111 736726216 540477466 589104473 807659199 251298213 509979090 554375401 628104150 186596801 607558346 470137678 286225570 754524554 196034443 877022650 662063094 730223737 143551048 471352735 208601245 855493991 714836632 179771903 332769383 992824603 382554938 516995874 249906042 748497397 679168083 334817535 109784086 250812935 758217382 706999679 196810190 987718062 579169627 107726267 144851067 641110155 188218730 408085620 387992452 975534764 389676778 107366855 466350318 603081264 427910281 980766006 994426466 465690417 484325250 889059318 674260742 874349097 147795284 783339962 455900015 950952053 646330032 988181771 200530413 456222211 908856428 967641364 609529920 259485085 954038184 802437653 524454779 443447228 437769952 842790198 134165999 852730329 633314885 906479132 882869333 706513235 850818863 706857065 181248005 480073316 188258626 983361565 533512777 411846132 431200415 409317709 916680345 298596776 733204063 558459887 623135001 262638940 312846812 335577105 610494813 253916384 321961395 439017372 460968402 881467029 626607103 376834045 397386232 178007837 392789977 509156778 790899587 854253523 970117902 319958759 370825641 961675308 566019421 210767102 727781943 864177977 753935462 777316363 179688933 482849529 355633102 616702926 679521011 342503965 289285849 729181907 734087657 593964751 590030390 593536323 424124940 344205726 865322436 905480001 688291693 959740277 325602279 267232393 951884997 983567297 231225149 668138228 843163249 821174086 673240155 333833866 773232595 951496122 250856770 940047795 380827100 253291128 857145070 392892624 325511915 551481803 540483276 976700707 992226024 635891419 813792028 191631207 566726852 882177248 382708099 901450053 856084488 630230503 312299942 392674191 780062678 912539847 530857984 198095252 597400209 161972624 826104196 970431478 747970130 709141491 924888351 718536950 968716993 494962631 296317565 848623978 731579094 769040051 212565615 951531349 747518386 406770753 488159047 359973270 792851556 864040730 847294038 792867745 493499312 172344876 822345220 488916560 463842189 539403470 552137559 245944679 795609729 956875198 360171034 968906358 763767401 221117306 475660931 878696579 638077734 870658208 990946558 906547170 641042163 544906382 817173819 462769833 990923708 989343067 785391001 314642917 513012549 857857671 667382922 968993690 504794549 578119546 918338992 293987809 241539039 242088804 397289811 278273030 716510187 409091438 302972160 111694127 398075881 228622857 745025551 327037493 531577807 515975680 968602721 313710943 201723389 260227680 176620102 803313214 612951343 328497329 171993672 200155354 621604608 752081533 410686691 805463204 638262534 416104642 810618967 340834426 721129912 768212538 740602255 167795368 584891555 955278459 387891359 654053205 314599269 701831810 959588186 591827115 982074059 205669865 259225847 848595510 111427578 501468775 986296151 875606375 158013818 547145965 877345155 684868762 900912098 898831413 209743592 860682633 394931207 542298498 701119132 625684423 918379520 244344756 726622260 670843430 944731349 531550184 762815277 168764596 640249629 621737908 418862687 787024086 383818940 749152013 392976418 746849273 227464800 862758454 118742553 641324325 187938990 880625624 219458122 899561044 937712769 432980286 444424399 291029003 133909983 446912121 128529277 586601066 395246777 509811136 767305156 427082965 750637572 114502952 170264651 844531764 735743304 304261223 716948344 588808374 210361696 381557796 446709907 782709300 703966218 875497402 582127375 660737199 796787398 736009616 883321935 945281100 678815715 219258833 774414356 423984166 922977099 742894385 559549169 663682172 324377750 216621104 521184744 744312770 900630938 479913949 784761240 150506478 325261836 892508673 468189975 372772953 286858670 796476561 222800584 442033277 184784162 219289729 900354603 858216909 445648064 932644469 454075293 599351641 104272157 833737033 267839502 542689301 285389698 319630561 508812472 294291347 661161396 786155381 102964504 520690546 366746413 659214331 575483227 104797212 923233396 838717236 461052592 947814553 565335136 141325792 373206798 536293919 322578489 661643760 971892109 299585624 246433871 984347710 827445958 654242443 305798742 303617087 804754922 173450953 507831839 114368548 808430696 155027811 686190325 569935542 111912126 438871119 694487844 347411680 477758054 135863641 671404091 934021629 393497511 827029769 992788623 335708474 367403629 524834942 336038793 579318377 306065633 761175238 485885712 289966728 877426140 904168552 256058688 759621836 351038008 450890936 236071762 607104282 749250509 691083533 134677181 335027908 908876778 990887323 950483847 255356147 565433847 303829294 671001516 778053914 402419701 539518759 402275108 199361489 232272535 409460870 456888831 328668954 984264423 795109569 598476724 837286799 534237760 423122147 899151356 554831116 875073489 443059012 437543451 850444241 329817958 398125318 301308764 294167967 398940366 125791275 497128284 320694764 974223851 257946417 869406904 115645239 651351837 834232125 691903485 328250455 644193976 467960988 142540589 792982980 596961443 564237941 966355959 457158414 399203589 360809932 984215534 434545987 740297619 770839529 748955021 959108757 879505803 513291640 144049972 662447910 455730042 473010744 882498691 383444396 323401376 262913902 589663654 309556797 514535212 422796579 163593812 404665486 189794122 737431168 462257308 528765496 227804377 397800859 162882094 421546874 973865315 729924681 220241163 609381820 344292234 458676530 268340287 597155160 848842466 647052410 401064191 996026570 541676097 286482238 789761137 443442989 906947131 924621370 308187134 999313249 697996014 165509186 280738392 774141754 323911590 880371766 269096988 970435379 519352186 842564777 176904922 715889102 827282112 637383659 810498344 689077835 787744801 723335250 577054721 326770530 521470883 527708872 567352846 391456308 869931117 327673642 734122213 214965968 730691688 688925867 528087689 831194840 673593930 935496425 634878084 198571435 837754539 974244704 173632317 109184713 569886548 735963585 393905701 233734535 140973070 316545144 916211920 300158340 195689810 205222624 962472166 219555320 263766896 872411978 256243930 718911363 400567401 382652405 158353999 311341873 462851749 444510603 616169877 177213422 579141861 386478951 757620106 940058336 799391595 794570859 406654482 931800964 599974149 599495899 529240995 508668724 973461247 858895737 128597129 268589452 647310237 464936009 800445348 514178964 230939668 183191927 492376872 371913870 174578055 173348206 948674331 550721571 911783690 949202877 195660079 239913590 667624706 641744803 924544162 443499865 445969433 130476415 248701779 768881209 189988682 371532822 189878430 576479777 952987648 565195162 823671333 171566230 494523903 162255750 649286251 104456182 492689089 486577733 580080506 902939899 514380886 211052663 106310775 971339038 249454907 695602995 835533678 922501514 557296773 625859482 146163683 927852047 180389215 820495019 991937707 717353625 662874328 870868377 370787554 466371400 538125636 736453013 869868022 911207049 751351720 824399015 236533097 911696450 136551672 653687234 821970370 244805960 408972306 943359843 475724509 146897095 749661941 259910719 549001606 974733473 886282668 394349714 106334687 955891563 639086863 216961320 182122675 179828862 486887688 839243286 842288019 361926781 129046362 398008656 506909024 980712621 564554647 664924628 528116572 860813525 334268526 811130313 636173867 723012847 383409254 248376541 997246024 398796334 142424302 251253503 275149792 828541963 838713716 718118305 898960286 985523863 912769975 133081105 209962119 948339758 866425833 385490801 206528182 371841393 236019886 499370832 421320906 269880642 144089325 415932211 366656462 142160606 111382189 891744050 516014960 396159917 441323738 928159729 122479057 667329538 299597309 586879040 833988063 791596289 586508923 160423127 422208227 779502109 956837452 214258904 668525732 742113323 975413373 880388426 523570432 603230496 154903263 172046615 702322330 350946758 646465483 184573677 191027020 465929643 634184327 492791170 612736604 218266617 973563370 804451352 832810417 688609588 880303578 313942271 483275446 238737359 765112250 925614129 344308598 267626428 793088644 432840183 535355883 895993759 296977703 314000509 439574888 646356987 862806059 480910672 801892931 368274845 450568005 225586088 715364164 899227206 416919209 216180891 418447620 247787961 548377963 903252920 792797383 212682284 977387244 414966245 801110299 409844758 567601506 170238209 491912932 868008170 549236166 157537598 998066591 531963513 314950385 280437115 338497168 609157140 881611659 737466069 346092527 783110587 750353524 362502129 916810575 325479071 540829021 340662428 838752287 651023443 990966883 618740042 802049760 658322562 926790770 971093355 108629717 210134396 260759356 395967540 653498551 361335429 997844855 948145754 306605083 344013481 805493490 271628143 322178568 549263687 917357775 190748963 518015352 574440236 111644717 402822326 734725785 907495373 826155815 719406483 112128729 863083619 937710452 966061367 888529550 895568951 225015476 263239721 598719770 539047559 707853945 343228634 443766688 479186536 985330267 462950929 508189949 211549750 954967088 519442838 165120308 475957614 631168145 189059776 771764290 359029540 385406628 534411370 127786139 503060694 205066712 493286151 506618982 222697837 201245913 678203885 664263156 325279072 689174835 640828034 786256133 214609036 599403755 883027598 990646658 634857931 473275332 669369692 990610360 513733821 306610610 913524388 452410687 288049684 984868302 130534144 253810038 562014195 630791903 551938316 623970859 800081169 194382091 564397934 614770079 814153048 412732062 294846562 239220783 823635996 593859597 367510073 823617553 704971198 267095377 126780394 934296196 198957209 366603122 348227279 539295895 197146079 884922951 617797000 852252481 463389125 916124263 292676996 126681370 795851371 215597174 904048885 741984142 841890585 812692101 343091698 604957671 450571885 357554677 347957661 404946695 410535245 590203186 168942997 480773339 641980470 285832019 715483069 601662528 273945991 982434726 449341179 645314753 355623294 901732755 623978352 104666074 864548056 551107528 367907435 599563985 518467068 721555149 425564597 747099673 444168008 930675821 450961718 228393384 313950122 206600523 878189602 804247313 481271229 335236947 961036052 896474680 234868765 521400331 875285283 415897528 181377770 174055039 106313830 614394674 209190061 301857048 242097400 701050420 715232895 558776696 206566922 932685656 886317864 934653513 767278770 161314743 659779333 634238390 958537446 676584219 160843781 519488338 348394346 412066949 721044345 593579213 850154284 733904821 755103611 203425731 104282856 402417087 733408923 672129921 979296267 400910421 502447747 192810544 293542264 637585147 391973727 890185915 219136560 168641319 700095167 392312709 190548997 672276362 920132202 986896432 825881195 405438876 356270807 237061059 350302242 711034341 775806014 793954954 768676158 399673279 262145845 440465295 642463198 931589012 350582212 253339620 932927835 394773024 573467944 824590170 910540389 670731048 100086822 829357800 190251579 291034953 941863118 441507741 512917506 737299605 805399672 980571572 861235479 312508595 671987789 240048670 256020882 511873824 639224561 995583821 263131000 300291748 927835183 885652180 517033612 466256619 468217361 751749079 542767814 799231730 899099813 194570226 936517325 520654496 815862637 465542654 365748439 289930559 904938477 710006421 480294616 313150788 400247031 847477230 152281503 698223804 143276986 272205573 553430301 522716593 735973348 428399110 525549627 713496250 479524226 347482040 650350210 358683364 439922152 928544422 949075166 553441106 184720608 473407016 962008415 819793868 166735318 588183209 566651880 148035265 208896841 297065115 253289649 200776388 396629394 633043822 948846985 310283672 511037529 403934082 668965485 797053107 706318972 295490496 316902810 242345355 511743590 788031386 988147245 181875242 962534442 569507699 519525169 283098596 890614744 656054117 445220469 920867776 529279395 734836026 637539747 877057128 521288480 360491350 992114839 764671392 741731295 316767899 148421372 378105206 662648592 167111229 743722129 329033617 211541076 822662176 201483771 282335350 573904062 404650815 126915244 374097989 607551323 333796813 966557642 749000890 270948333 716383353 535500344 393911843 667116761 802436920 481387107 564729624 457197017 404684532 370080630 372924901 970234304 440147748 335049188 611092694 275263149 444701529 226392291 304075600 146815455 536061464 502543739 904492158 997409249 845282348 586277034 952823164 600327873 221950238 821262067 347703790 375710949 265887803 728399352 353314709 247564295 947073973 759882181 365049355 178823584 715370617 274423442 585943354 491415222 844155184 705178975 223747617 962053265 795446311 266424507 691132422 645054466 911664872 277761844 878771507 872942918 966469009 519688351 916605992 897249579 223940720 521732120 846837196 873766318 787822544 511650354 140061447 110939663 989870854 703134350 854639726 363269860 725134311 412767410 306212137 491943678 276690912 782496162 418113742 538389192 766783286 485249215 364584423 710746691 821607387 719071988 322648131 551215545 259563313 930628349 579888521 187439608 186731097 390780942 501311983 842827290 779606964 640712407 871699557 624716091 822618259 123885651 208993577 808734322 298929717 142668493 438347078 157483053 807547805 456591948 560039835 689041230 812125497 288843463 684064480 688119501 863088827 261881799 881777102 376437179 117222873 996496979 592829600 367176720 196077068 223569437 157236175 559555777 377626327 155754161 981144723 507982670 745754847 284579436 699547440 608054230 522121058 526923412 965599000 644466100 895155699 358260724 497203119 927746721 916977648 709863165 403251812 110902570 488779263 312718072 366715724 708020546 707667774 652231550 836096270 274553299 753422195 467599736 773181970 838761740 654367146 731586071 220903544 390182959 596884032 419359089 819148182 746837309 156900135 929741528 985844731 935821755 817091692 785725866 776182046 709356879 341450653 295770486 717877282 359599295 357857065 337588652 487365287 717999225 400565114 104864941 177125260 717773165 273525022 453359678 431035974 902923394 360595056 616675993 942213028 475110723 389580642 653087789 649657240 666866257 957491447 395737417 354764058 732155369 121277924 971074289 489850276 536699028 963754291 957201368 961697257 365130202 994709216 933819186 867184439 598358864 588105284 920694961 450641984 945487463 198583906 999928713 901457546 850102554 304637547 509170145 773650868 233397586 960835988 723275173 275073664 899908282 917984126 706944155 518377422 329884544 303787100 995214266 808444509 186718480 433979725 311524768 765390057 572339636 421739875 702491159 918440989 881340710 928739154 588645120 425713684 401458571 788930059 676267527 472581668 447902149 142333396 635344659 332848886 228902141 643990415 217748028 658754871 293136130 398051369 349362786 740299018 526414419 182548788 412047468 974253697 886695633 953270015 995909170 413371214 125786528 774256223 762917999 559080310 535981167 905860991 785723768 320394320 706862770 430917104 227681014 277493814 614102013 575620506 441173555 252775373 180552450 705763560 334183604 420108170 359238310 541312362 257631998 584673632 420782029 954575220 649531208 307451270 764348834 708574860 679483008 836815816 396021271 432550789 290580382 975534038 643747693 250589089 879543470 421105654 356041541 813242242 223212332 579118347 176213157 599469145 118075520 840366918 394593585 259797970 453834991 290954448 597533642 559166013 662172990 177932476 714901946 315034024 370603968 322916033 261757614 995635600 464057564 266167285 176267624 161923400 742870314 661720157 209827083 516372541 738348287 728680947 169810546 506595765 146051185 870152152 189620719 428387858 697136915 160925064 807402367 304138247 414583161 292147639 188272793 443017103 586563918 856052172 533238408 637736211 880859748 500009711 973022452 976248472 209007847 440460409 164131451 441687035 962523710 509769765 230696801 860684467 873866880 649827986 421379747 941129924 436621412 833615217 197587124 479411387 142760933 140562626 154964713 359588817 501339873 539960716 706441935 285240344 247012704 873605808 455072939 774050639 929807319 343965984 546920025 282598675 579290706 586994518 565970355 355212078 672719329 519557139 246777999 609114481 616038773 888916052 646224728 827949502 659405108 178739463 477689927 773792434 730589928 231572567 978083735 827673307 109483183 853727142 611380959 971303127 790442037 409934534 667826047 879888935 371249338 539744185 822661625 218338109 157982104 846104033 958122179 488287027 799915958 647163973 580636317 925893438 618260812 865428211 865351805 870706568 954516246 429060556 418824463 363005775 927159511 617252003 664692686 223233365 512652336 518412385 935351537 286357682 230393706 794499303 777292648 763843985 650546555 307282561 642963222 206733914 901606138 245826373 968389294 971867529 442208407 133437221 263645637 355854210 472447154 598337892 755633904 463828880 200694644 960684409 373500121 269221790 681815939 546625937 729173289 786267949 355752794 764337305 398390941 355834186 166884126 987063191 793537700 839410452 668549721 123154863 368946810 440171942 306929035 877071653 993075787 309153430 859169304 429944812 781876621 167415207 729024453 830971575 524228481 830857565 187736657 871351233 987547764 300796268 843976857 193527990 860427623 500913908 511483148 339088855 896530701 575295106 650226728 378605835 848065698 639751040 830458864 145178467 564494121 391496939 678731275 765536067 721111098 893102214 818594351 305024973 979974599 608159382 194139208 516111596 678087682 487795958 881866826 197745482 197782437 963750243 737949709 741346452 751972426 719728373 796126006 153117574 954157578 515350451 360176923 559538976 742863326 460200999 215137315 369371983 929699412 684849416 565956444 144970226 413480566 162222403 410681936 235715544 563610459 114445520 650756017 938580645 607338608 801228726 230742503 117133836 828338571 810532535 201947333 909109614 602338928 744309032 445202166 840757141 712681110 929801896 633322975 124074209 529684969 253729272 486463818 944049066 929890815 679841433 670193917 801174494 850234421 670791769 224248414 636212330 694817652 115457600 381576845 447639799 669165368 752020100 329551745 572085536 543387698 270105894 137670766 529719213 659915874 224717748 358255197 281860886 317397320 276858708 451946983 578350802 168335056 246655445 942066835 995853539 746459448 713721742 460871155 512693375 976967555 132207630 297760694 387028219 601055176 792416941 847400438 898878135 900183041 512837601 343870567 866251936 367910973 521945151 711341369 580242745 907048674 332413105 260510556 479820833 731669205 963713402 740393775 878552504 793510469 925946834 716889426 628306185 338077864 185955839 303140982 519248161 330871955 169523119 538944539 593298394 766238107 828751660 242992362 477371066 789528077 257593549 227711950 950305070 101635122 921816878 187836096 307818977 355658402 558471459 400087595 607641514 371561989 759216763 218254031 879745925 607308274 336007152 441262748 474904776 532616554 265888382 113784453 701589935 585315121 270342805 144041508 167442513 261932267 339085134 949177805 585313223 547417781 584712053 115737950 529783468 811510062 668843467 440959318 573945316 541056969 642705013 128963783 202259698 332744063 586502401 954093837 648761744 840110204 475213298 808793076 715246165 662749966 662574514 191376315 734008354 919706972 646321299 787148950 451792067 148100774 552733072 141693724 759695195 383622821 897854169 474259469 306839413 435606867 959899669 619775195 972972927 910954021 187429882 624247203 735754323 778625303 648104886 244250232 692874820 881971653 618316457 661599689 460977587 781556646 634021668 161773059 209927926 798104667 458588868 430614082 255886120 748013700 262096564 255347920 648767923 650136935 510955412 415580054 944270280 719310379 119546338 521272850 483804497 463840248 229223524 423020660 492289895 791695311 279425679 289446116 141341456 605101220 547481611 745758803 347481448 954310783 847681714 398939205 505307943 501949194 268287687 719002429 284203436 625033628 912716392 793696913 752128472 710687090 665481930 376060571 807992021 186742729 258257124 179584097 958121046 977529734 447211204 218378576 612162033 319776054 249790805 105683416 267467408 545549361 375038045 912465300 472254055 934923746 221513032 311145903 103413021 392369505 409392171 398409623 384626708 426503338 686545644 497788823 998386977 739588710 794281128 415392308 899771189 434693424 868603161 201041969 365090748 674330816 773228360 683102622 149336270 788999792 754698549 685787288 541051964 157984524 355967412 647864225 307447469 706582816 799598214 686234537 572584933 399104627 660479129 113883165 400611989 238399679 214512536 714753861 424411019 609906768 779548398 757055004 877943571 936140484 162245845 545611223 628120968 247587580 521440459 302828923 588051853 774499022 961445274 166906270 295024098 658976864 481184222 419578959 994433758 210897492 418719084 848345303 878193216 725447150 179564617 934215823 753401983 121533519 431874977 687126931 356445896 688004540 286132096 251158435 972293568 255613404 885426649 918231873 206697405 564080548 167860226 971483668 342900413 881187311 226985554 764892094 569821985 215047114 313608058 234460771 960276493 306014035 969325166 702355091 853096098 170914395 791797955 786175740 441867541 463449102 625286108 954388892 687834467 501601296 755455469 431201129 703669763 109598626 675364492 892412733 293977522 988289966 908683846 491122709 761157363 691563884 139628351 277854518 281509051 194114365 728417326 675777809 995994318 258531962 240353849 441858367 403732675 605546768 765385956 166103075 727375979 659192139 675328931 426365309 648869443 369522582 747407142 309386391 281765317 599755139 602909949 895816006 137887784 207205520 747495923 164989493 872084582 729118138 970646206 269388329 263022138 557474573 429340035 451724955 617977418 417066116 637182671 788921743 256146527 776655070 196532436 321435340 227496788 800438980 526467213 856849654 395027548 672512426 695481280 999354617 992159615 797380422 146695774 908238383 314180286 596852157 155983379 705518717 934905602 708789259 550474142 324832946 556824358 490291776 597770412 555021850 276896242 671688718 142373336 609752593 238493743 654125149 896253594 325451051 151645945 898904061 930405831 293417902 456618917 995426720 599820887 361898468 703060998 349084822 647857378 799146748 350661346 513450218 102227798 162318439 582825670 234496626 673023635 995340816 993660411 584614260 602125611 417658012 699336533 685228911 829694354 195640514 725863977 308072042 706339480 637938004 714473561 964577930 766341327 254881888 770835731 250273877 232380278 445448332 693435814 897312186 288866658 946992665 680566181 395142788 788910807 719659438 221306586 616648665 353652033 986334126 759220167 198958956 267542050 189518630 931587605 654993010 928794699 702210095 254985577 284690269 618267002 693455664 122006821 931512376 899070988 643497258 167079465 480102765 149749819 926028561 967062048 979778968 152459455 484435813 851140999 611270150 813803521 972506211 349578254 387902720 446673294 359310673 635386835 930535953 801056488 926779255 915403278 865020603 916717931 978034430 727160955 551433529 660544531 518188958 692348546 190692019 569872869 706969290 478429809 945235012 295940708 605103570 503166886 439580039 959005169 482878412 841062476 539759311 782359497 524078391 110165817 687723144 362240016 863316769 278069029 700345842 717111045 965526308 917041424 957143986 368580797 431805958 498534404 407367723 362991336 427549848 703038357 122753512 805291359 957971756 759545839 706573209 768712781 127025564 293365708 102119288 853352261 222026472 896937908 324884480 908914737 969569485 917712112 617299776 136182108 508081377 798782663 758731833 643806004 745452803 330942961 905276458 194930118 319485746 373787774 562000226 876556643 220522605 422265544 106896139 860721977 395065346 123747375 559882117 595294392 391252528 967485499 253816612 989869938 310478903 467724174 796497663 145204485 920074385 974002075 905078256 309659010 618751205 170024244 486822403 739065647 799303210 331656756 222526439 307868906 139392385 485517154 840250796 914014915 616047156 835650508 946190624 358389616 511801712 865123148 462534512 738146164 352320141 893274032 930306491 165036929 762699160 580386491 549920819 572600894 134778467 114637843 490771692 736605007 373346991 991682585 595426695 357355617 842542771 795693225 498355453 361445115 506908176 949146770 505472154 334905345 503549875 311583521 627265710 219942705 114887371 394885910 484093077 474233677 753814623 830141344 974565255 244368850 227292086 372416023 830673726 570963538 310759208 480248680 215328287 598682471 107897736 944882449 750537639 995695614 375522811 560061335 772641975 401576570 183317086 560956601 431470131 969128172 713452825 181886065 863092783 898672509 277479064 735939379 213651646 453495987 881803078 187404687 268924138 705000342 354359031 647707191 590682503 348860561 923339337 649592474 906844364 902212868 201569059 349533405 127659201 507671978 500314449 571663435 185659351 517330852 196631037 909181809 689846394 369409716 440163323 969919783 546814013 824550391 893402350 121626706 574739242 155986633 884434459 107500023 335459070 843307324 838047099 695080230 901723821 282949178 509653188 775940970 980248005 516015344 934125362 437101751 273741036 838182413 556999796 444252865 756069297 913636094 424684593 937914449 661554025 294088643 264911121 405373706 225548951 957304185 490911516 999636604 978404592 655823754 138988132 323401253 221085325 487642284 501756904 550016933 739551484 369153375 146229668 155759626 397222811 595125302 415626332 132596675 364959042 148716545 753226116 231090973 123489414 512960008 356671809 908602048 428169890 959653071 394661822 906629944 953119611 117559888 617930164 948128131 538945886 957374538 709458318 449242100 440209839 982649717 448102211 859303308 561285959 346120559 481782628 592257250 189952022 511599422 807834425 457987327 338481196 274609166 374607246 654363495 169502878 829223241 445218944 890315423 895793835 818898375 672887788 636261465 203293005 845300141 658466138 248714330 334683040 615390858 707744224 490440111 547005923 207483016 274663352 199749137 978649815 472388530 462842718 886951197 398533755 835594886 451256333 210259330 449045557 975833737 378599897 789527005 433483023 973308551 300495240 393329193 935545064 657179290 138684453 645791143 151222586 745377811 211716331 795553464 757436500 401838867 985360380 212985147 980820097 245748023 741422669 745485662 236559802 794033444 818875705 873746986 840845223 663519376 224057629 167209547 784802245 717140974 210287194 563281863 615051582 908045887 895367246 110542410 106735107 974120528 513480760 600544400 979756710 101783165 867771060 858616627 607802236 273706698 302037162 655142779 699665035 246359264 802818613 761172192 133280696 498951430 616253848 551590903 270537704 688595988 281924165 629447901 763526368 211164629 890872861 606519855 792181467 456376593 223078073 775119553 700019231 837983185 108204361 443436014 341475470 680894933 949489055 556823789 913985411 220429450 346424824 703676841 294227588 927986236 660809301 626654438 506705112 620938073 721996190 189456425 320911497 163139122 586054231 922262493 713857791 334138437 390825404 484494236 307731157 224939673 644664237 582506551 471083704 273233795 920129532 154325491 844042616 274463827 943633691 601485349 268961051 850724666 382661828 421476677 369033790 918576246 857391178 967301450 835955894 732374971 236406547 582680466 135746489 631135921 645198656 918316323 772339785 968652489 490454247 203225815 458930616 500269220 666416356 175989837 948119358 847385186 134560772 509120566 351400980 914032097 693523957 194197452 393875868 994650876 759810897 983069138 485550064 757522503 940482501 714818113 319501879 219969695 505760477 430785406 819035547 533915180 874774429 894145963 501090306 666665408 696446926 973045227 759101538 268074207 491126135 622592280 317836793 475664505 552702701 280219969 855228827 576409886 246471369 318055102 716296321 564453802 613060909 926306300 609222340 742874700 730829570 345269831 412438143 199574030 809477333 423285363 531312355 194303056 522980959 572961685 953065016 876336879 327680825 897523195 719732870 323430973 521536338 977675664 805775547 793958506 975114180 611540779 918675147 795340281 835539803 190181038 320413666 365587266 873611843 990532490 504106900 372288864 638289363 396878834 964268029 375623258 491835010 282628654 410291624 769964042 734120675 660665898 847842864 827548340 507323071 358346212 403338205 197750753 342609745 970552641 572833606 719567611 812955548 198004625 869570856 746395937 775452755 203238500 550106171 333498906 495389619 375682394 810976106 501129088 663238485 935966916 100374704 692762744 936798388 387987549 563366782 267780354 392290582 286275584 284561169 412992238 311789283 282913406 799672868 553147800 196684236 239242362 140144716 507949998 776824865 203204401 352704983 944371720 672648070 948966414 107991348 112077147 241723718 636256772 825603931 494585865 884937750 235593141 981934881 406976655 355066433 662392044 512211158 401444526 680296904 140318432 117773270 634534121 855155732 433518687 609236446 788450354 827336810 852513951 404159346 669284354 332196455 402835775 194740972 109153572 453382308 687233386 804231440 718354988 903897973 819464007 797451408 649822622 985826479 488791819 595078100 960000410 733764541 292213131 290757281 710898934 500937605 691194791 100507790 718427784 863631040 267914063 460200447 811060247 960397095 416724067 519358963 891464899 702629042 928353171 134361186 433641134 701227207 288877992 310219211 443088645 948669576 660398375 458351320 288705128 125892020 427920766 929828226 361340538 790540860 105056894 637846961 972633155 373900512 702240404 471815726 317486053 952657437 806781558 271331097 832172225 939647320 737018985 422953524 980347782 628657607 362729225 124789855 580638582 339530268 205211671 486050045 697608707 534541681 420530998 695958039 694319918 772068821 307254128 493700036 481714899 589132744 766739252 656051978 384243938 153537658 138050388 534332443 592170039 965704602 620762118 784840850 262971367 659365464 555570975 584268149 683849181 184575127 851913656 674451890 271733811 966156703 188727321 845098881 915878676 473177983 399188796 132831358 422731469 550853087 268450763 279749576 331142896 231069724 221950236 341177146 417748752 443992875 565241278 812731576 735268432 233895118 563702149 494808459 180481880 205506828 394550896 113993083 443082829 771073500 639751327 658735518 379882807 233572334 709897429 321027739 547188873 753462542 132510006 484438813 550292276 544751092 127076694 129017939 511298305 622015930 408704557 922430067 243304354 956511576 227753028 277030295 221964782 598597119 812010359 752866094 122938794 882388756 228867311 302679233 548655223 328893923 644561554 376574952 647382003 144526435 395358472 137744773 245018230 358723049 746010525 763752454 363367837 849200312 988373148 223018920 394425209 299527758 567607065 119465416 272804319 612546702 262359785 843682560 482565691 890354847 763877889 493964383 716478151 683342218 684947767 473004312 297938926 376412800 507629774 394786965 526124717 612730028 732642781 699297145 767792753 816403089 831030914 296611809 419165460 360055379 891992814 218641582 455111102 891232232 221002291 618232560 180144295 735948072 720890280 849283531 196005740 875918617 289049975 650922391 458165098 274380348 444499885 773323394 847160789 820637101 950005413 116997163 471136204 326341612 436702460 172273176 848819031 556273308 214401716 797703804 880027393 244127446 687057322 355009796 794946097 247644806 401644518 607063272 307212888 572369012 985289716 951213931 125345861 646137723 666406393 978291306 593360555 736133679 608789913 605874591 450822613 787003031 169840740 509048284 398682731 771038828 232886400 977596588 575332485 934213899 609654861 791307829 571604608 811499955 768729442 993766915 536312547 567396966 808585135 681989370 804260319 379876308 992217841 163837308 127578957 983847471 383755431 754084478 334526657 330142354 765174009 319980199 251772849 691589630 641029803 863243163 329030651 792401116 537459259 322906331 208408557 694732247 120438037 146565097 593089453 219817061 207527287 150372626 173787190 685485883 168793470 746775754 175901063 592548154 587269436 148253252 287548880 754139768 226567145 950936337 546281157 444244686 276989224 575930231 866370530 984912501 257088842 656703801 916260584 816603696 289425655 301761223 889175357 870208610 449463584 706010940 756361668 997375383 895612539 455344189 846597379 736862320 645748925 280631390 207110627 113838618 850298629 332570802 757602904 426506886 893691187 824313698 776546473 343699179 899308806 265248469 166769739 912869429 785980746 253220977 335971467 840718282 325567554 791140222 449385663 208212238 332568006 907647392 651276058 483843945 696684370 674285305 408674157 534964277 654941704 232860245 129708413 177797909 392278725 799383476 201648174 249565031 223220375 565345711 751042770 387202564 861422795 202494050 938641820 668698169 866700236 350345337 552701389 903806217 732848190 942061532 949028379 840900200 441802427 143322344 148431856 441711119 156113492 207110832 253014972 497797743 609694749 585888957 732906971 593212822 179900297 796326657 759518839 368614293 656356916 901954587 449703954 655503299 278386339 338216624 456426271 716315422 517978221 672374146 486298237 744645245 157952174 369771990 700518769 546836229 238896710 146299400 371394466 506343751 198607638 962332397 673572690 955840864 218013545 217720667 943789926 806827849 619611081 246814813 403475597 499536485 266729284 674471415 654252355 639878376 891237773 130976499 417790780 727902734 274025584 534818699 290231678 972473249 941836778 924584735 115549599 104842535 105891139 687243674 426529722 852444495 212733170 881141862 497028700 823867966 664085907 977405800 998603133 782265701 838399575 819511489 513087138 275825114 900574806 180581364 528544362 204872725 380448289 554818207 337111596 831305939 112642136 859899593 175701289 948299171 755261306 136702147 552166728 182606214 110567315 692813621 770319851 142154718 243897250 406969014 204348205 604646745 835776921 998271863 879517621 988960347 411649430 687536867 442898174 954680332 860035927 871519227 448669301 141098157 495725199 477149076 423748029 768577626 226538768 345320606 868991968 478532104 192627821 712665962 112019392 338579945 626665016 550132861 284464677 956310311 963421930 713494676 336187217 466521229 262314261 332683669 949489218 444923350 174945021 771527048 339573399 345387954 910669360 695013771 322453672 640415874 550433839 510404108 929402736 939446937 927485418 300244210 377844594 287052525 967975085 256119732 728523192 474533720 690350745 626961410 820689070 269986319 240569754 955978904 913721622 375027027 298766941 432699208 586643824 945212350 413144062 300842456 313872001 657300110 131092796 802374424 976920670 522746139 677013264 245733242 399608648 695539889 878474615 417196801 477106331 941315822 326671912 691800165 428055691 966925563 937533566 421910764 723615697 712469113 267426542 246147884 733916693 202671393 921844945 293792208 828853048 370294160 252024915 332189805 658517851 655755489 497608694 146490649 320433775 594151818 500441596 280228922 636259445 202876939 974984101 689814731 921642846 338418590 142137356 955277609 265791466 281469776 819623097 563281739 825872125 164511242 788664471 518692313 163613223 932630418 893044582 846676498 961622541 133818361 340801967 272048741 759709449 292961005 311342468 447409777 154593591 252414143 754493111 696733463 430445549 949988875 115123852 319252267 219922345 880803018 728359790 366171409 239602477 770758601 134986899 103847704 567510264 208210754 551660452 105328560 502322595 309993320 511908258 296821581 323885864 218521624 741018428 442589030 831712260 714688032 590276678 660489527 656861668 367525279 649821483 583755713 668799075 110441807 418128511 564878395 751234275 922787740 804043146 137294999 149576758 631092982 643982247 363883732 828343271 923916656 691269626 519149701 218054480 916366452 584130483 460091480 733122641 817766038 839330013 340151891 994996435 673400911 240957357 539697643 569671471 185362730 482429640 548927996 195423010 801352217 347209175 342143886 133038081 475365408 562863482 138532076 913021856 402481914 926025949 541496847 256227856 341211285 151648829 992631987 993533886 957970568 681374871 918461506 155474563 537793863 376686844 746910456 901489954 967427633 546221728 791769363 262849320 568269639 740534782 338196540 481006354 112961172 490439186 279890199 762996058 725569160 793047078 433146074 413191867 833537772 732510100 890058413 385505622 885838101 610565533 806177193 346104998 456545515 973801791 549898150 583568316 848505547 435926160 164913789 622853832 300208447 970653595 796490865 890151425 478526298 459535176 980677228 344042739 826815645 837485821 572473277 324727047 278499992 375545059 204803369 716569077 223361344 342768846 802644608 471044309 912132602 909008537 286960487 426653008 853271866 354584344 916272967 717145895 342321467 112041607 845599990 795893527 991647977 668092488 200769005 680401164 539510172 599405148 924845507 362208083 771332000 694998802 854071933 812740304 832878752 955939433 337697235 961126425 439141937 512787146 643725539 332668402 583976518 199081052 268117918 154256673 771857033 352654584 722236157 751679182 890020082 349376808 619533740 432866335 267111188 582405755 775767743 418463442 659877979 225274319 392354499 437393698 898513083 712566009 416785247 677347804 975024616 123213106 374216184 277538784 360796920 196942147 139364657 391578061 828185297 996496760 127129721 305017294 337106137 102962759 783027045 278404865 903806655 228993626 215127753 879335905 888978399 451167548 863682650 950654369 984211395 347592783 745623717 560165541 394145274 258943390 641126474 265521959 292390560 292923902 871384285 991341006 387303856 759581632 609356766 553838840 712807261 920785149 865864876 171148591 191888023 389070386 233369979 702032197 976573386 505040011 882521887 441955442 681319102 400572483 915849568 476229917 749019408 528699615 130389194 452288804 797154925 483311693 247770004 759572660 608252404 784772021 707376689 150751287 149142944 570776125 932191836 547626340 246154884 296912105 109151634 421089325 787887558 460327893 926584126 111684728 842967280 434757614 164632533 380725459 539692117 419644613 763579590 969096294 850061544 810168111 566177561 614985975 176854644 487953559 270784119 659469215 110691798 257026353 578670509 690468912 732104966 905077405 889636107 238114743 423006327 975005021 976236562 383828773 235799749 167434126 991250922 761001427 707759140 128844694 727266998 504302534 986464566 123053468 877224287 913013586 910693827 858532899 337703358 984181867 671704340 565172447 327131108 256818414 345499078 954522438 946095784 838917888 126963526 790074871 128941396 469726740 627466868 789334024 361879254 480303004 296530947 683166811 518679064 277860178 251202238 777534097 850653122 540923666 159278622 439218602 247425500 381143099 441127434 322105203 197686719 331089623 939016276 359078580 623649080 157897033 536992196 965597289 107549045 180143326 256314868 780994088 144656009 383776575 415225127 766769111 478440848 953086786 518573025 487542905 990855608 592904629 459679494 913399251 333663887 910031396 262540346 432415070 172098628 251846400 291227644 153814598 118016452 803560171 254557505 169933931 372672183 845940462 178918719 924443577 983202890 542825614 759551135 684915338 670680890 717282337 905622842 695477401 954355062 827636712 260603381 874554002 710550306 791153384 325203723 799825508 260111435 999056591 120208575 476605573 353606276 767276104 644275219 389357667 842966867 540563797 673146078 843479400 264509692 254197514 810806111 102447693 534339642 209848842 197291146 338126677 826025858 993489229 509554874 205462201 608790639 325682434 437821487 987348999 163392607 792854777 552103823 762794166 416490406 517190921 759381367 496851044 106221769 987158386 440295330 850258323 894518093 527911497 428979704 539601944 389301496 692640706 609589959 192314452 674173366 143369670 674237661 802701770 865401527 552457504 740566753 553560947 881521199 343568754 478575283 823444971 496823182 887997098 875453298 702239154 720764806 496606958 807752535 333903103 704178280 741247994 307048752 549934526 118262005 885195320 583888351 832176068 198606039 970522423 735695951 279301753 105611809 174981156 677357207 731132502 361783890 607459847 557503405 512847126 474260081 540788092 656425323 158641869 541460356 514508338 163926298 384672455 304810324 745404926 654312732 589821628 728568285 887317752 606622979 944430667 874450146 958739531 445039225 277658890 894305041 268451626 256488370 777673223 415078924 336640049 418141943 669142085 297339974 198876113 655825264 170071322 339819633 371825639 631600993 197976661 438100531 457088563 768871287 906868728 541998646 839216272 442499516 729797012 154174461 542657005 351674687 708637434 394691295 150005184 327184428 447927034 806492120 630027553 403620043 803834237 674222125 535283605 223117432 939245946 908385776 920699236 554448317 459254453 253292901 272413639 599786791 165512135 730789729 640857183 479395524 142370624 457180992 930712772 820860448 920833679 369304241 439782931 305900744 740105800 965589005 490311810 594803253 235303208 791716702 433844350 810376407 101194614 612778250 726019396 175278777 764521386 667349562 229861816 530453226 105248906 453164032 815337524 706414159 654564805 413228613 586470338 439341125 529610728 465163576 455105670 327662262 165669946 408264485 595168800 121990909 360879319 669614806 587094627 532037570 331890035 269308923 785097342 683397349 526823379 752854761 240622024 497287492 912633039 201840034 298354471 965636280 649544567 164817896 811062082 448152530 229837326 252866006 690948239 541528148 899765930 493034754 721524803 477985489 546943140 891775768 849408267 509148065 662395519 414489017 541265587 718583183 839225080 591006673 237288017 376075962 479065969 519402339 175471661 952197074 357586008 360685779 287251401 528890573 817890423 612934136 196111539 315917508 895499048 251576316 437049279 931910716 731551764 114810332 370424213 706071101 313015940 950584190 898336987 426472772 506115633 155026180 192268026 195418237 617445853 417991061 902758566 168766407 526838351 531856740 120776988 401835732 454773301 902358284 372462636 277767350 767433982 880674646 800744954 904049661 714417396 385300072 225250185 184792334 155115804 855908074 768414591 469137278 470235011 796798146 262290091 770264938 374284424 184909223 841672981 846830346 689086407 216403240 518588183 420150475 657724465 188998951 478782049 945515445 914318908 171902527 519962163 569196715 459724995 322903342 307067983 796061534 518778295 478716408 461409906 981469074 607935063 892115148 974631241 274555872 835008291 856462495 133147656 768134607 348428240 174081922 862179149 138603771 578903156 196872719 959882121 223384974 984861311 164526686 829420713 536152156 175775834 289709402 778966231 947053906 697063218 481082842 545801470 624492934 177089104 464565544 858957777 759078785 214648909 559921078 582440293 541029820 672183724 306392596 254383831 970233269 387279222 823670074 273537138 272604819 748792942 313864332 739317561 172915819 241156499 181023402 424086214 649243152 414419958 131577655 354406969 275765356 998157157 657435119 886213478 983822343 905525268 667283618 342004933 500412760 733339942 896195748 554031028 246349330 889012238 845108786 402238199 615823419 149464676 552221152 992636838 233831878 396431967 858288159 358515636 550194926 910134325 336551773 950559381 466790154 739532204 484535533 479630451 648077872 670149685 195712290 837848522 371770749 903911277 494522270 199483580 938673134 219443058 784477548 216378812 252891443 821575371 366523401 989825382 657460643 670982393 814570793 867169133 167509327 922767795 450710719 472985086 414455286 695815492 144496811 756148705 776921835 681764128 377678710 764433004 649964005 425364188 544466128 121154499 675747473 471373794 735432714 899903216 141049274 628588684 677275058 125307444 492982869 376043475 930049527 411453422 311262485 891442824 200902387 389281758 892388520 645030175 647860462 637735335 263990557 932983465 482667857 206105961 224067853 253813449 801138954 847179547 175801620 387456071 148709987 657943947 855717716 913229435 334432162 926085298 514578254 704195480 866038841 407195364 755240936 889114080 835490575 703340375 185397011 577664503 659443715 647093664 623584960 626616403 163757016 373422704 399865227 134555678 916841018 653263210 369045936 545100532 263709606 253354209 410755085 598442884 587199057 314856572 207386202 632200574 268531341 113603112 655694832 944258888 633210490 710594895 545499122 406876738 848580892 645670160 514804662 334369210 816859928 905776926 716147599 245910832 303757909 475809316 497985861 580992816 273123343 780524572 878394516 247242388 657934365 402312233 931582943 954702684 383496877 398126985 841135087 428369064 373805690 363761588 540168078 443577403 824572097 471998928 672421773 174721406 748710940 536505926 941637917 661526453 604879827 906743173 890927867 888563584 981004512 933959898 101904449 598215672 308413662 881017536 892247028 949078565 315355074 861147279 650237325 821414555 423850995 674161885 238273525 682227982 361881474 615786224 423050503 301251679 339700241 506618771 381265236 284804483 913380510 788785763 164355038 707687980 647638591 811118856 955739942 729130000 461736728 241557419 227086756 536599612 385421774 414857134 634144799 214473080 272049395 644132429 527114736 917304662 520964257 178679679 828396196 905788158 905696426 207098135 473559652 438473492 776352775 734992230 421639933 710525334 966749630 340290746 814606932 276556287 926763850 355915491 623442561 110529413 522826338 935302797 431583983 111284795 515687561 858751603 621550691 687056329 780064126 614259557 909972154 393508413 250898223 856592778 741802716 746586487 926139002 215234671 160278520 792129272 179458577 946220228 963518349 429931852 943888883 370422088 401370238 649297152 947385019 884363020 923760104 986526002 892031545 673656586 669525140 178416115 812091655 860012032 153252957 355207084 445411638 910122069 759997739 189223326 177685866 466563403 670932313 414355142 587901877 243360058 476797448 648413431 822734155 340498737 769957750 367230540 399041211 193491666 905210511 324058908 882262816 515598792 850933909 392324699 357059963 938008877 100570477 649940474 346146952 841966721 317501211 937389803 160459758 413051031 637223887 681478004 971207210 958869357 593690055 250903997 413285599 731917713 616777058 193792545 387520249 350092881 736791814 190579641 314817214 128203943 909273405 883651418 978885992 533913531 741317975 867647442 370244807 730448763 893004711 160507545 162625293 178927388 879759680 911935099 232212189 261554812 819608998 166397435 540764382 375653354 832226496 244446227 239969106 474786023 727929676 414592273 728097751 862087432 645571924 611336697 543030890 220793342 495072385 919141498 939278698 454986997 551675425 917989903 909082655 935775620 173524180 676408612 896515250 652379499 968810975 699245695 827518325 366504111 986549165 182982704 522312111 355953186 762645683 785485666 473273187 894499146 368431326 481987941 797819535 235907590 922241932 590814023 479015370 774593908 284747886 199111279 368184608 693800560 809332468 130763664 297587153 273525311 895029060 323418216 508129040 821642009 705219912 457827840 472637318 255463068 344095726 515709690 570945380 298721245 108708982 778011068 717564899 213413184 983411678 865963359 232655853 629522805 624626805 748389139 249332429 100717901 277565582 976576118 848190988 295195008 939599390 600121441 367652514 925855576 856940495 973224482 585787912 296358370 296300143 802175109 635300874 576184865 801954345 307040786 167534524 480674617 509657408 279935933 229247258 268085587 495115097 980765966 372642864 528235526 307243173 581457004 339214456 565378614 507999914 491193723 180978737 401056896 613646326 805869434 707472118 800086534 185435909 271996996 237491418 220774503 102561451 927893013 560332004 368107229 566505452 256193460 280567744 706117839 184822256 965445581 750918179 718846266 983974407 121750998 447805698 123589796 921984736 530524258 816705480 811575271 573369488 440127380 248074573 301356576 410050150 280931906 933793148 752656441 109951670 846221733 865307902 953917540 141638730 398937644 944297430 606558594 508840979 918832040 434802725 589491977 980213528 552617041 825201554 642045298 782701591 699945494 967786730 157230700 637610997 134839317 337594614 375017030 572139177 529855936 504429013 720739154 173085060 452280065 196520719 262553330 510467624 931717826 884584997 718195933 432230764 438237568 803323434 715341000 348545113 370158410 915748501 904094312 655916434 111132567 757999382 784192205 526716402 732772353 492643079 438272752 383825698 782316424 796721493 397222371 832758074 677305331 141923067 267284330 658821940 936691529 768448327 316112168 430064445 390640977 488202640 450207683 268559191 613031107 895797166 528312569 312015003 620527662 674371762 727397606 281527000 801544336 536153005 877887291 105597713 361614861 337223607 413847417 618060780 898914805 877477850 746924693 249960744 737598109 213491879 639577586 291041262 644870854 461828745 562593853 986530320 931161051 964303676 855476221 368990585 755657046 794112133 469495966 636022958 440932139 583906655 280430608 598412460 563583353 918990121 293583235 827507190 774261527 964851776 331039648 359838792 204044324 473642934 717247853 189966162 536583755 392801266 536311427 836048807 338804066 830924409 902113712 110530730 631975355 336486384 311209727 129538865 834996357 237538318 593704310 988807338 717775687 517019865 193677047 663517725 224025352 759538831 626522741 443853072 815913371 193227159 629943923 572682423 130068836 876491740 455275824 493506222 867189403 439081922 136291662 386506621 838256876 931594504 898204326 547875959 929689648 540824526 435785758 619782604 201700210 215989327 161168037 851924520 950816477 915440351 485991568 499282164 295092544 780150806 989111198 281938209 193399287 751255334 888124968 223712508 585920520 650887149 845654631 986783622 419295142 825783982 599874591 563690472 583511309 395550453 156404836 190756800 592178609 988568391 101925374 687143414 923477522 752783975 356926911 560744404 357165276 360889154 694820875 562260224 945887999 698299148 516882096 302574613 317205306 657507652 924188107 871316497 811105957 768131432 498653152 222905306 912416750 364700658 333426261 941754029 496497492 522516945 655053245 191978839 668836522 424137072 592282195 788857944 789335059 571314453 229779027 711116514 998321455 957152245 212103484 346441777 556606082 859661694 142318247 483884299 258771567 683985196 518179511 744151072 728806161 839419034 124148535 953260294 324854774 487327580 972208219 594454969 819192465 839317230 754144034 398952685 501068065 406470454 468425223 575676542 366198384 418895321 714327856 201766858 532220153 659124638 347064802 314742415 829502270 934448857 769318897 505701404 780499935 791140912 781407485 389652007 898779592 994808185 725445941 995363845 853164821 284533449 942880534 643856473 800641739 378936873 922190823 918704228 711697598 554955214 622121416 327388058 366997785 188486691 187030216 390188061 131727396 450199925 721783144 361236414 926802911 582961376 719956041 918202840 784941777 792092449 785428229 477097264 567707661 969001618 914351346 477070893 635825035 771995525 704501869 779234756 854385879 532198666 275729132 762656523 405045137 648252619 695094498 220971483 959716641 447226524 204544011 217659900 234785903 446976586 577799296 120515335 982877590 791553090 156236769 788326935 793652774 303091824 400046859 925160293 668217853 714444076 452286521 455573029 552241825 264749838 807202355 797893848 908252251 284563853 530616352 467548221 345444498 619448555 517963917 331994868 928066962 772426218 778704472 502646589 629161137 268061992 849174018 165598842 814607664 540466870 214039647 254508522 621893635 506213735 500592948 477808729 270431790 351425180 281285691 955476153 883647161 999233666 213402214 162532931 378880581 413550312 335299240 672689910 634057085 126963255 994325800 898559973 428209823 709196093 488982114 961610334 484357642 281041239 566442569 171173204 689367319 698710004 773302786 572271852 535452719 968049582 302468221 479252420 291026338 648602998 452667401 331889280 967536147 345442379 649074260 713766226 592798352 142632760 439966528 951773676 112581008 695821441 955139445 612186873 566906712 227020701 866698687 653184596 662354364 733674511 935808000 759551001 179206581 422912108 786999576 814708950 379226645 446963922 654050205 830338030 672699728 397167384 837074623 701191297 106613214 187463069 207586191 535178055 353159131 311873375 400723238 137424678 760267774 323064771 650595497 146879056 352004689 268421967 955157177 479959877 672406329 159778513 859019522 409276069 886946686 723107322 865599160 368848512 236697932 474558683 526671780 248049534 332391268 535554869 422224134 236693695 574005683 306959672 755596654 430264377 541512860 605455898 489077018 115780900 300286421 684142424 411912832 856243293 305090468 139660387 587721987 646652046 663927333 501937812 746314859 740241810 240696816 174035323 235512180 376844826 662445264 516432683 622650391 337826679 870217488 194895644 125978482 804789440 799324591 881559230 651968236 491317997 360860542 813076558 815893891 894859201 309560145 674755067 672200431 557188288 159647641 590043314 252155930 739379602 538652262 816183709 238953646 330360699 661036874 646797626 652267612 267226220 791221974 373427270 361759410 476649628 847860659 460581422 939084969 470331724 286698193 107872457 654489249 915905535 896337134 374056205 154403325 948735920 495283586 286223461 741074191 216951709 122557943 460740470 713268545 640017518 176470547 561754812 246597092 472487195 611342898 999202037 355405693 279406473 944100208 797817705 212142705 696625397 775472757 382034580 889777258 180078062 133406734 793644731 260496949 342801870 405561458 451972631 272318043 859923660 449327595 767912160 231377237 954651484 496318953 160960885 195904025 310956116 508429889 704251384 118688563 362370895 952149906 934960182 555388151 220922532 272052143 877459822 179540517 630842689 125741831 376915367 627224924 547112485 956778801 716831350 233702722 176254336 828543124 526821593 426921030 677546956 855778503 375433712 565894350 584875173 945129176 702496009 798627192 291979094 944570558 282133727 891172427 167923055 484920078 226605896 907419413 369814229 833000959 908965224 808634516 410576557 364887784 671913025 726468788 566863570 942296108 839880204 957258409 587791267 527633290 621977070 109628445 493844947 142588364 700498431 119996120 987455630 152783599 954141785 497667977 460961921 299534396 467614015 376802919 197864635 487422450 758768902 559951890 444305111 147468326 561367710 213460564 406836761 399779006 592581102 531913568 979018120 399583047 560221518 581914873 236179714 619563263 355641729 400742900 628613656 979874539 128080948 839621357 451886097 194240377 733225591 604421872 803308134 978236096 570761319 446365711 227178339 991205544 170497797 400311788 275712131 745357069 548472742 767485804 759348076 953818263 221227555 350618407 359578198 267495285 121895494 896087825 143344228 311088799 830200539 722502399 601124845 632673001 432520921 394336056 136958392 481450113 687569536 655776194 908226093 250696217 962409963 531429879 521188514 185955072 370615675 102755499 212252372 487095918 563053855 305305062 578186377 633840768 459962501 773380505 491637681 830152406 762910712 167082314 313875670 387214215 697666291 483418797 640557567 363167562 583536767 434474415 979123315 584146565 461028126 498774918 147504459 476394747 606559441 987716828 652427674 555502347 216097800 936488770 178334517 844548078 347300767 993412826 991786722 410306547 224266165 562920863 328346099 972425667 290018784 886344410 869485771 120946912 818764902 580550758 883806797 971000081 999687028 628750278 270779767 824523124 898336920 314694010 181128138 338493045 733681922 632354989 554607880 978728667 195230119 434302816 418699294 288030081 607234352 190712764 231480454 588028659 964572415 228470990 559478203 326615781 787013649 569975133 268166540 187034433 600086044 929470329 879779204 949756410 927219706 251943793 124820687 437182112 109824466 267230119 499899580 854192342 665334943 268090138 722864607 667851913 231222545 171877140 838782676 959909451 154061563 363957342 938792724 733660788 417951012 536467168 950714166 907360947 649871298 719107693 324649772 612806384 456299797 885940491 218600596 829654297 285845890 153158011 895938352 594833247 764715643 513379131 452110766 156250919 102217631 979452706 198273777 618178129 416520281 560476125 194500102 194098006 326377636 948983575 338811110 484408942 432445668 364557419 163712211 792440525 679224709 711503706 397790806 979567877 224798760 129384798 349430432 631651646 816943957 767942852 418427371 877482629 549186867 842008342 600060089 251014664 484084429 569788017 725456279 664240757 412487457 903366496 751637444 788546452 580745030 318480572 259826746 587962149 431898200 941388969 231443504 418524461 363552470 876679141 407951544 615604481 803100558 267842792 742620029 332642932 830059422 245841135 960440771 935361013 287210664 466837745 541242733 670464237 665735040 431434341 401516632 198907075 780686599 638114771 992312750 484027128 796042983 688968574 546615217 553367185 565477557 252943146 219352167 367835403 777035817 752199528 721629701 781751309 660036635 855565528 196735420 396682115 733355990 911359743 727667087 919053689 258321773 804969096 412262272 148098261 602540589 451731160 449095037 579539744 643780496 123649866 947624270 597469993 106685815 623069218 696799824 647244277 627935832 650125743 402591537 966176313 744994112 425478303 795629382 112446861 530515413 783321752 312682348 746791155 481218478 184105250 648231585 295034034 570368196 138845221 317331955 733373852 875657595 829317307 530005019 585463558 969139606 323271108 581603685 435248097 151163795 490364470 956656675 234945818 331268977 787299018 420626942 122297352 514954314 514886154 208187268 709788140 537125902 135429380 482078184 784538115 620627715 314242147 810876097 501782661 711403196 418041273 603093116 503267656 961630274 470899551 216805575 403170431 920781573 383125321 725443526 983497388 554485454 342502499 495838259 444574970 974950503 474440201 821144358 728678014 910818488 858467766 770569259 872240879 497720786 137422324 492121553 516479239 674441316 109562541 660275048 380491150 202654911 489825225 696455645 272409904 946812865 423375095 881203224 693923620 917088852 748587069 528499626 470626198 910844357 491155583 948168141 214379641 537695585 192788149 278975333 681112575 603207037 182984896 402387966 788245772 928091762 444203428 963088786 376114740 208625649 702343181 537969811 122595683 473303708 831971099 440257793 211257561 894594248 799693348 234602163 963792533 484649589 365621091 951431150 533951407 428454769 275715594 452238640 156743654 920629877 260996904 772956415 332196991 120986861 601595473 795527300 566929550 914950407 956589831 207083438 651057112 794679546 815196934 318395300 726470050 684358608 660810951 199707836 214764134 422213625 450137020 603785888 857246216 767881727 573102070 888486695 872591408 198223366 437421753 825156295 606783290 901446963 135612165 664941800 242313168 905690738 947218815 396870353 797962148 327942700 230422466 551637180 642970393 760942414 418590627 335819262 606598963 217429699 204758657 508136725 292634772 952160778 679221548 800837873 775658516 593011354 246439588 463022000 203211120 527793254 179268886 670188776 574649015 798057404 304389246 533225117 323399841 826176825 237640795 193457885 469447849 801592241 792385190 964710249 707979871 397657301 686658540 839396637 970429334 987713419 420149119 975341110 646536967 889717981 102703791 404681613 472004638 183455756 651116124 207146698 492335235 975712943 965747618 470291780 306986581 645731039 457299521 867099101 698899186 243086034 711256745 928965273 135569677 435248499 674627222 576712944 603369955 244333695 441523475 115802374 944543075 173852365 688723044 752363762 247158878 430545785 658246185 578296554 340749444 330037037 741367028 544798918 181547571 904785483 952484317 270941801 943822583 614903268 102733739 880872767 880478476 601469340 991727726 169932713 593393145 914188643 438369497 936528066 193491154 283542610 573432398 738903691 925618598 461565722 947461205 172787362 643993979 160356612 908922376 829678394 400899200 448627683 412193998 203965974 841459686 757424327 641413143 836056384 668058769 123995205 881147824 484747441 443801050 989386711 375297703 166334000 979603830 476238184 329483672 119636837 612004967 534137823 697520611 459442112 780991182 351000549 808954571 908175746 513683023 908243812 984526520 628328778 863758191 354571171 321629205 127300202 321724368 607799905 596143592 256017863 461155044 947603435 201369583 274119290 619243034 590998986 595854083 396949654 977058488 163096488 820649920 834817833 617391709 599684521 544854208 737229918 395307988 816286061 855183888 650078245 379936165 145906361 938958816 681286305 408669569 831218675 738541784 549836914 349195565 931337050 647010736 356719854 866618847 662548279 827556446 516656536 190172821 453330871 902528875 902771303 881398435 237356570 475099988 598246493 715659970 462029937 485445184 913832704 461848748 595409108 496948913 481394787 244775955 535218978 489157115 649643643 442984741 743508276 321087481 479341922 456608485 332900591 191416704 455263054 803425619 725141063 979447486 374175923 579361318 731198751 370125659 540860844 237824340 305912542 847687608 538991497 975520716 720869140 406196615 468349979 908601043 703648349 363917339 627735097 752650772 484440642 461690807 781939190 223547486 800266403 564864548 397713144 157155364 105401639 553137653 737181459 846884514 234231872 608053178 106818918 586796868 570274366 101534895 658941710 169626647 748624219 695926778 917682428 903047846 261326402 772976882 932737078 218674179 423100333 187638184 222548522 768973039 691855058 989429910 702756128 944581410 251164393 957779236 190552144 221913273 318824568 832642929 433893017 654601450 529810210 118792778 276277231 905188675 140744655 728821709 365459219 968939747 421943128 219045643 147553155 177808854 647400882 496598071 915488149 336969868 224976534 907791907 744587674 983768103 499700986 723636225 492234180 834736741 985773418 732031830 716368636 743628227 894380327 654757232 497548168 416600185 168119021 801440808 111985542 829863671 311512574 239701671 954570990 798108004 145314598 957756819 410731821 103841746 319394848 329016091 848678844 418514160 574676446 882844510 837294976 557261677 901758023 503091201 783631028 269038269 814696678 531425262 871829873 763743846 258232397 338384385 874650343 490247728 948073917 860674821 651953667 303739959 273342624 639469986 516917855 641281339 323831539 727552314 697136864 579157928 879572135 183089485 850009618 383598480 725745101 543116568 855129168 668096863 382905036 879007028 654002544 723669627 310088566 262525410 329943178 509819370 481147378 558541386 838265141 388358878 612366471 583152220 236877345 288441912 418066946 891849161 197565044 848420595 397406714 924609634 892472113 314898850 790035256 944802886 498564769 437772040 636635599 189847387 575640952 394222615 543006629 331449723 232655351 783614739 806890261 874789644 337879271 665197667 362866091 659797161 568951746 895892169 744136084 671189363 112986927 492596091 684715698 189781055 983887745 645428895 830852585 577737645 221806116 550582170 329667508 423948306 449183681 937497188 352600357 223449879 218258269 937427121 553947386 300009167 145330125 359934961 937966779 233858810 678040148 355647267 231420429 781176300 771147736 470874342 531120803 228489316 702097684 414329489 563060964 313750359 204599680 609555821 488289187 693818104 868489729 498493997 764468864 522157298 646203338 808939258 596464371 706896881 909066720 130215532 685419698 668124588 298970505 121748344 891151259 820990895 694499268 738434978 776351656 623854542 715318724 640516561 161226128 896475992 137032431 377253185 525375235 237456204 346731857 363604922 570097748 600789180 899982283 550349539 616564335 570861792 454829049 146572689 497911185 219965290 728311188 335529198 833241652 200688654 418595493 642599962 104846572 623828813 223523780 907896192 780601188 101575452 148107910 316133945 814217057 159426493 242562981 839632977 904085551 577594749 540289251 275398367 780716460 913289874 630960486 634128448 891102221 518631361 852844775 527763895 950407603 681534991 548011869 864891382 139385914 181077735 635898519 549540147 766157013 273440712 230806368 173339017 437805043 209171631 227174817 683403352 154909200 964504578 386657127 732329269 117673538 619312224 899666863 272941012 561763943 202009640 460313082 391642277 323929081 163751961 322448410 363605825 539386582 249953096 915520583 667235341 562936979 549958551 298578615 569422762 167708127 190896457 647845900 530865526 116758561 390834034 308836322 569610848 950473271 913374262 387032530 434640099 382455451 403594163 674180512 157780622 233845755 956578295 836250598 487320935 732548463 636503046 606284267 287987892 723609268 704245473 669426574 192793319 998540654 347700542 229945781 298186331 962762220 579739786 554922550 412559529 817869451 400845958 746850710 626598586 601232842 390719307 686841016 352951586 491563811 243002430 503477949 948090003 208721296 409172361 957622149 412146245 818429434 563135122 353535074 460758471 252079905 280535674 241719131 586231105 185344787 285756457 719224393 323091831 829448581 627575189 518581517 574653139 583742614 621076382 926178808 578984515 123842939 201976936 451883273 186820318 488367138 845495977 492030637 799060776 805974203 193197998 591729956 764897171 379981824 272584173 529834363 540870973 201593390 217201779 918682995 171394086 758399527 396861943 156721257 876556300 633566717 365212462 181641696 223407730 137403723 972489929 759113009 887704653 347961906 111196499 952151587 610799771 690019738 442234123 749097338 562186704 884905821 662590872 904739341 709963270 937750127 148804402 502893907 232185702 611126000 833934679 104279208 746442661 114205022 721863666 348189499 595520943 417253899 442740644 280099682 130821730 439380978 943908183 841824275 327325975 693671054 982603341 345049478 921118097 700416864 312500392 985724411 416548616 206150581 370280513 863569390 898125358 324880209 897148936 406295995 984157156 565126209 137736305 453876125 313543270 402023958 775842746 337930348 591208599 574231488 534693182 140925659 333768648 438371781 720142308 164109381 149239300 711861512 908042645 310814334 639591604 388799529 958801022 722035970 564950700 956258575 470812674 508565469 951533358 764264320 377774281 929427355 896925314 445281738 131071114 482243036 562735836 666543900 581062985 822053955 515902233 562056630 123155426 389251386 998507423 208919898 295683669 710506061 694173700 621042810 747340748 655141646 328526902 450758566 732614513 939765532 651964040 312764239 534868373 156969279 782109279 478789239 489020518 302128489 302221509 173199301 580257666 694581525 822204520 281452351 695487660 627389869 941942096 170434526 917678521 880668821 639646514 831175320 675295217 751012491 963176605 912428710 291426839 873700824 273677818 936063457 179221841 525977692 703500557 904823622 968563770 990662065 712579751 442492013 541903156 938507498 165006403 466378641 973220952 597972410 798707510 808776619 396126892 128954842 147908822 310961604 470484513 342543991 967555274 292893561 977986103 440722529 654565535 700264520 429437204 605435929 589109558 788332996 670013238 782860928 275878521 241053256 947695774 302274022 290295186 526485958 550903708 322791970 958140584 939804874 261517888 681254292 874766181 117333300 645537918 818071651 563117858 214154135 357321128 803937943 936421223 160233182 827188238 617057811 345323016 504503898 824978826 959951166 963724106 379099396 535351618 708778575 444997345 197708653 121217566 187610819 736080887 529536667 929318627 770618620 706661892 361196297 409226778 436563343 304903570 896701727 724396481 174093626 608059292 695507771 106939283 428856041 969152906 345351849 119053060 423463466 815704707 593725780 849207227 292943293 456785199 914905009 841447512 982449196 125556244 181824197 212488813 460364190 772051263 147671661 837886845 560528956 756697083 350219052 120977740 835703671 969019054 593526084 293313795 851451762 833133337 585100088 812216173 929446774 219809056 566312702 106392823 741941230 523223914 103865864 855466058 609427158 279323292 342273243 131331689 646275752 499764470 212358073 802592910 723958726 826269626 741187915 506826775 307702014 465382934 446178027 579197370 681533960 204304679 402226669 991758367 218904793 593116566 237087777 918123928 454682910 247348642 997204622 277868505 488028810 676106913 523396057 382141246 872218363 996694086 568800352 978522765 801793946 774166613 925971522 164161141 200257535 986928512 691441568 622824174 704789217 374084372 794411588 447379884 831633069 814428530 144318206 725385900 624454622 895236579 845690962 831372799 629172736 792332434 525770397 463264493 791005063 441780196 874449322 126951191 193513982 412261683 330519703 143447353 146504453 988948231 573343950 675711902 870763889 978714582 988812015 463135401 896373338 907277941 972096794 791031100 790397227 952227034 291318200 572748343 701645625 189562086 839242849 432340805 499955528 231367934 372505013 134331853 532683836 244763090 439086512 934253893 204593477 702907892 477692542 249616194 510785496 803854342 896235835 727933623 872752939 211507343 770087018 573236098 137655999 468555783 543344815 253021522 695475825 778112350 416900857 731536404 287184848 732525108 719381382 713011811 540433230 805340599 825775307 318227071 198525957 465062164 392749161 291091993 991967546 741873984 284057954 562552819 160222348 853615158 516393438 170974767 846331801 809171478 418869894 620705889 752615962 330269417 634130668 915994549 380398593 700502158 383750754 904332031 529619007 186650236 271399570 772327146 247143609 872279369 983426765 242546634 183958635 117789743 311498545 295848977 805483972 304799974 290361108 578313293 678263178 678055886 470071849 583918401 974762589 547741257 752942315 436445533 398555048 210129118 168837193 659966401 975383277 764495360 611640615 954566950 796440360 648398984 913153155 323379045 755381370 661200328 912340494 605749588 134496815 210193577 391196074 715135612 742525378 596872857 634559777 297032771 329766781 249604399 389152478 490251921 955483479 308173851 241294144 219714441 308709414 638716010 445157362 873858866 932356180 351968130 315060950 849258957 450189780 283576898 542164431 843495327 343659045 553267135 602006798 998131641 819964967 827411132 638818503 426556364 164977933 673138290 749609307 970357842 942555359 263067317 661555873 223134642 833120838 263480428 852427132 546773894 409123416 591612791 876873514 139088494 671879939 949293066 535243155 174259890 345569271 812915389 383426842 145001311 634257415 608093444 838454039 602094568 255313329 463509988 481124009 211174200 932752616 604430594 505635919 155588484 713502115 375203940 753546097 351659171 408116944 329101778 977520523 891471573 474080809 609521105 724945189 629930851 278327214 454845628 354105503 749827537 531013348 826145454 943497742 344609610 500762884 104991074 684188310 123257797 778570359 579800400 831629593 299031530 121856983 574100289 490722195 410782476 160713503 768889888 534088861 743463977 170468341 982613348 422926060 575349008 826301107 446316120 155735893 585043456 568518693 206012726 825173171 345945653 935808205 660645431 106673845 681953596 421699500 907255909 754023664 506552175 443042114 348596131 103107297 630969855 162921721 367905080 693790937 129969069 166048345 115199564 819564934 871966991 530485247 870286383 443847909 803673636 440796496 681476166 310982189 398490844 657049926 250644480 243332930 696271860 112750484 709279466 269778880 414490135 180755434 835989990 329147679 605315020 387576966 378199416 602479674 162686481 704316876 932753915 307799678 683897178 485736356 240224816 214052115 458021616 182376755 607011532 344525393 704377762 380746057 924223342 205833238 695197149 877634101 303532817 395058278 713906557 152708182 630067236 814655403 162022332 133933736 991748078 629121529 700936708 182545394 941967936 790988065 623100859 449475843 154631187 606865605 159178701 842597611 887606287 543247004 744675889 408644147 880204966 512738637 128789601 549823034 898134582 417470832 961506602 782931608 920141428 167045387 294072838 926176355 193181020 280182251 229143486 107877450 912435890 773141298 660266288 810197543 868420209 746137297 735410776 812224384 593280328 988618671 210304679 488989007 162843556 312123286 238379591 716501701 133386665 197482792 564959803 702833445 791402370 622684365 706264218 509330462 920609918 142458854 494961221 197865444 704510996 265788342 447005315 269298565 314361255 413355764 420378503 832397866 672957607 355989858 196415253 342514664 228729193 855533499 944432403 926088633 145804189 299694897 362410019 236134219 409666605 507795824 153185841 324032629 348756707 248884225 220469485 546884384 384340837 939037664 435448910 218179822 722493484 210781029 810133808 725680816 702460302 894925159 158422510 853130049 643762755 137296118 748723558 729847791 815755082 771277556 133965617 647115659 236281054 407811454 598904822 843122790 693437355 497466293 957829691 476545625 949267054 772141331 694542573 462252167 593408427 390691705 647228177 742112585 541763980 521920368 470902222 470648154 767157289 138186139 219781922 918384124 827778272 989077937 982209781 250241755 220694121 971513079 192756119 526391026 913275647 643101484 515123378 831089871 479849532 635144792 768470321 796508074 399466845 286429992 131857912 883384483 754310047 906464807 856601772 137024770 531219301 165567416 749980833 520722234 915547361 405322644 884415343 849989666 820812163 235994485 118565458 139108317 478660793 225627349 850700482 121846773 916332757 328161210 349670942 921027775 998274929 938275751 968689515 606908237 337843518 690022644 408272926 198779596 858751239 786633976 145573649 711954990 891780838 366165312 652143319 626188161 774015322 594497645 724486425 603240391 712528649 149728764 712404752 517264389 504744883 965387269 130767370 377283488 646609990 799798464 679093752 507156196 438344313 115290809 910436801 592323303 309411575 379546847 233710509 798400333 700015044 227415705 499518495 644803236 380084806 385190799 430596415 768693371 340374942 325551770 707135929 978695156 114060719 855123601 691625754 527754227 313247529 187757031 621593432 144983045 378059285 469068658 570354115 668152055 768826744 513912516 546383752 892181675 457759510 768577132 270600360 483022634 977938380 969262318 612840587 950799115 687578897 859547586 587239275 773315931 418684847 669014618 408718762 608419417 312340143 368667145 750351613 312636803 266861654 958738546 484778906 977551232 849256739 106698768 695097576 605696122 851601105 517604430 744201193 307696376 191835646 509133724 836172019 204326798 305565341 984469295 195555929 165117516 542879135 861212754 135513224 696447414 144223421 178721774 877242306 613906334 408601156 655781684 375773104 194376140 128105112 113910923 190253709 407891134 410162491 448068284 745696486 395238296 126032687 691120301 782105138 434662780 908739700 169663323 195283771 109547064 251730223 629401262 330902228 392695909 368358004 857662310 588971693 675844670 270632635 454852529 774144680 679974621 336179474 794822082 617029274 939908232 152692431 905187593 944529611 638291251 884956851 474049367 452271682 814828216 143524458 653370028 351167225 602589119 716594649 442165941 370126076 692830822 355874872 827792847 407111987 608325817 360469120 331183872 659807818 579354095 534051559 111149114 425465097 224656422 829339151 667038018 802333996 817871421 483507829 184777764 789634787 193333974 436176501 624850667 785117835 258650725 301494485 709772059 367061852 424870524 576742893 786426608 302028488 945647137 181046537 782640929 563754516 659973178 915313375 111860478 197446686 801881806 782899534 213893941 383403565 395980522 236011445 441429496 395513007 823237370 278202333 370173018 836326657 829840768 255091854 917289001 743430235 443447458 760451407 204539630 840977794 222472018 543340273 953864363 352200740 728725690 764016238 239823557 932094542 633945640 615897670 313882764 835498670 930418585 704403049 502532415 212792256 501149654 662561212 532135151 997583443 269420998 169040907 180337215 200355736 108431585 933630482 175732141 550419233 654149913 102032329 273989728 858890895 339976656 532195669 826282358 762813428 783683537 586506086 801095273 354646658 385377306 251143840 716204831 877646901 248697795 314843474 952011844 252206317 842105478 319476529 142676680 950586105 638047565 912908600 966289849 165847290 822874658 178338616 353577481 713320683 148399678 366658023 904687755 945065295 431285037 524032992 651361654 676766861 729024515 492733725 746995454 892960001 573549182 263235110 700058976 830228704 314286594 322892283 580584317 105916841 302443376 593299486 510427730 163225471 492019168 450054599 698448770 179679502 214562594 368785853 781670631 918859778 440963283 730875930 127367565 724227145 921783552 220887682 549258850 247896281 662049993 918000297 575079249 861167751 744280401 239460619 131889764 682364138 400850483 946646358 984227563 896039330 127168737 344643751 770362420 927422410 828036342 117245404 622726483 925756272 637262688 946712509 232800270 969300501 842278821 367900712 170869151 805268730 458366043 504002266 476394775 451501019 780049254 561666730 367770900 804678632 500549688 678966488 228033147 797450029 272866849 882345313 187464002 845623801 770453151 289741882 400250460 818064405 383806120 941809906 730873384 873265273 788969334 145717965 735237188 356952914 594123101 733542779 183976733 467859488 677083654 661927958 704510884 513954308 927199841 652173232 592611189 570956220 525597151 947791987 870601299 493216456 633747945 506712940 232038345 619158442 624237878 174125078 673514534 292082467 359541663 605568529 251875074 206759447 832839857 494779924 396518565 992812212 301923011 826299939 593186596 302335658 436067503 664720900 754611104 953778102 296730183 759174181 764252339 556013339 419796678 799455871 182953392 948390969 592767200 262674025 761485704 293970287 500492776 341350551 595562559 180414137 310897912 500473376 235016048 360420003 543041989 714615151 733287703 528837556 816542773 702379114 252086412 517966663 461845152 108344450 866357076 694253401 875918579 148841597 790925049 707765309 912489756 108282325 807696446 218432922 926002143 360215882 647415823 652779465 925693871 944664760 436863629 949950063 598666621 950696320 670747022 727280829 114798552 861110992 567160248 341923503 540982864 576498558 549899055 554604723 571848457 925242080 126949857 159926918 336611006 889065970 568531006 828333027 874896884 252480149 990220670 398760052 160736514 727180991 663566901 702672445 270377513 586260759 695646381 911321375 769789863 317869988 677301425 504283156 399820120 497248814 618886064 868621939 115343251 524466466 990331938 342902348 676538720 825286338 986645272 184538110 158088429 698524458 978262738 737860778 797825493 872183345 618716832 425734086 693664350 577554594 952423540 960345384 481224598 338280623 508466422 321179989 168650122 734443837 621113847 122456528 629868436 565628708 344926018 405791014 895559629 323141794 888852852 426753600 215810116 655952603 829898126 412962807 883558205 613099953 252877550 219458671 315373014 319579539 893816034 769357334 656363816 750712011 818675164 918372603 979592735 762668191 766784584 121384791 204088742 779078286 547627834 359022692 593276469 488310985 257603122 938704989 918585214 940669262 375976621 608064059 458836651 504530908 123828337 192462726 560397699 641982834 226922661 722555890 966810439 504606965 597600778 556389984 237430930 947786485 375254252 933104961 436239829 818176424 751971667 597090629 265800783 516136560 449009566 590838755 359714389 846274951 714007260 970796353 551756459 993816491 427114873 973022235 384666895 905173460 353310457 297137629 333875513 383690886 400730947 256690310 702432740 305924269 162518505 817680258 609072143 310174583 774024562 589835263 397774312 641161049 780603043 991497185 462637120 450221763 724425675 388271598 623758855 985118829 930664724 931562770 802820335 190536944 563108173 239624053 259185592 403499818 473269950 966846889 425378580 761214497 332908597 977385942 472185371 215404947 977999307 518592609 818315564 227985985 809180008 153466820 856318576 553314143 364178056 256250233 399840697 104827320 614806150 493078344 767166144 462698275 696126586 585075302 879437516 400127000 704513108 849441540 345555250 197016643 103538483 309153129 586597944 808566552 752002920 700899111 706323710 350686538 266680364 126917602 574068110 527788580 800637661 279422131 992636725 599818427 656792307 569222376 241409098 304315788 817755718 873499000 121945530 703296652 916660215 770359799 505444933 276384286 522533571 381398238 554811643 946596647 545095516 365785026 505297093 310610942 436170063 437391128 452088450 253544951 386816675 339469960 816571886 653993342 435043270 551868341 486131736 412889537 343573401 342274944 949724165 242154475 157994602 868809325 829877900 748018055 186575125 327380928 281085194 843688609 836324025 504002466 188879336 175434109 698884578 275422339 445879510 529946188 342695471 575029322 170288902 890798860 972827646 350724680 331248883 958500798 884842111 190418938 768764866 662750247 689833142 811220163 615717454 729566657 379384555 837856234 938063571 846464743 914509895 863789670 657006612 691067101 709664062 675227159 423741128 647949899 467782455 399071313 785048481 146285059 845022240 553870277 778912447 364705665 825264710 340256473 380927554 110003958 950010746 779020030 999851280 997112273 431504122 704701792 105910253 610264126 413468254 840364159 262846877 336223354 706201110 264229825 718176269 409051127 535441732 798573281 641562434 786976460 550179866 613871696 796942792 402365957 213047557 289119466 946254522 557680369 850254853 392151863 150709490 144476177 708149849 580439262 519952025 337140092 512225651 486584720 874726404 748257013 283838941 561509462 139144397 205548639 460125141 483451616 107104070 957752167 253284661 999266025 545259531 704237103 557497665 569494114 440326183 794108521 501303877 914369344 709713932 138008230 610686470 993339769 945693266 711703905 853560936 965878333 617084144 355293061 302496702 227113801 977783237 554553120 480161425 264510444 112287590 603395327 607627740 726525011 870902830 392927066 971650025 357532354 923619347 815530151 984882171 577640609 210018614 688983783 704441207 233952163 815419768 309246948 537734823 687129495 797059343 276550517 370125057 471724431 594707199 961950054 501083984 286767673 385030133 444798909 230344616 781874159 502898046 521506464 947724412 182287043 832982671 637085782 244745105 582042701 862691723 863897318 321687803 123873879 265549941 930541664 528408803 533604139 699043247 491502003 913069875 514081177 595094942 354974763 662691790 707130553 338560127 173635044 688677613 427751321 882771484 417929949 928819259 704417935 928100653 660253965 395017237 156636753 776165803 438928858 488382000 159489182 711358094 586758967 279632558 445151034 608957286 237376530 650144438 496763575 472719855 728566325 239671189 539653996 528229715 491333611 417137994 568028098 872304151 702673614 877769545 151729794 218204057 663313263 924257479 631805639 803728146 688218435 534975484 641283521 282183824 778957898 946483358 917136155 735363108 656835640 323760876 129209730 408001736 138676666 341084037 926502998 192342451 859955941 969779032 542748685 398584796 592821301 299936541 315336659 631770033 940965549 426352346 962850420 851839108 962005788 973740302 986804789 606145346 278659193 337726535 423358356 256678176 903300609 565849690 319693667 905292333 118737657 438582591 965735834 895675944 839063935 639294046 912603273 406777280 445425954 329589169 967316731 989724842 584640506 910150498 663364184 746490761 907378823 759502735 167493031 172946554 212448163 878248748 348723843 712814020 408530041 447561883 166605347 513265599 879720418 256806681 152447734 654533518 113585967 852900029 263602190 246125597 576274933 977188048 848802422 603923166 396295643 383635489 568363014 433359885 413895732 154941377 257191034 626391900 808636850 687763665 458625586 273310483 606487589 565825044 885145131 544058343 890742298 947781379 101211509 570997355 452774908 569175054 169663442 471937603 476819978 355071481 337714144 719146619 583999811 159517566 726235845 604495678 757424570 626534025 554592664 158069608 207042675 752716142 200328246 977827011 184434268 904290546 307390331 937859188 834214548 880943625 466334362 944617664 865393345 570778953 973177960 942731159 960290000 319967106 561414534 888773686 789982797 798910037 719214753 182603579 438394934 822110663 680155157 703779848 989214165 598141563 996807056 764967554 952825056 589230847 869231913 570486562 647744471 648976606 345181224 257579268 460335057 232470801 140411211 738231896 828199515 807078182 234975496 834868594 484211912 436782646 234560445 791969749 542851209 171274979 480735237 454172376 225128691 228791014 563210141 353070717 445753691 804769683 808157305 527201365 540418866 923115329 700627710 792968788 613634702 652096046 233098419 546511775 458854250 308171883 572949804 836735518 992631448 482844068 760036213 166372189 331879815 798702293 605565171 545193522 736373732 858812023 359796963 112966995 430085468 832494193 496850891 318802386 520767142 496736716 604868204 141556531 527199025 796233577 891376046 173945331 940776149 676719179 519588378 545327129 837918981 670719740 694231233 761692189 827209836 998388624 615134971 403005563 708909985 181584777 248523524 363311445 688238240 674834150 374345881 712189007 984002425 928372268 972428337 776054822 669950513 353903941 814032946 978732606 942004062 820180655 871801529 773409953 499040807 951940763 907243329 172070318 745785051 614464444 485762446 339493691 549937377 764595259 893531952 739120683 526080889 599785958 380946442 484245505 283858912 201624530 287241899 153147679 712363418 172270726 809629946 122693299 307694679 390015095 231959376 557455458 464170744 242451760 660191680 948035483 422180054 431119498 106511732 770303970 844883834 157234848 380987203 895929647 720505427 682134928 324960777 573783699 626850910 896024272 194410933 507377511 454402630 985219756 962880711 243652749 654146005 776095602 443684679 505072321 222012282 691691012 145959777 374173781 817459580 213634037 464465920 239668019 161525952 129412843 819973557 120694941 913205690 206347920 498723351 577974525 651824925 242589497 899808705 959988274 733402031 508612696 205465814 882881744 906918857 808258405 378601575 301504552 493862721 985956665 451125268 825939787 919032152 599883781 735336471 299303022 969669172 581017371 112990635 743815227 346779007 457579195 659996051 708185162 829535072 111251716 381480432 158450209 114299312 266203660 520990438 919141721 901321950 525369000 686209607 627997547 964659897 980557296 656073538 891930233 318291553 422900982 227753472 289545511 891329770 464418397 970663084 677828699 793189493 890288924 207024146 256676304 641665703 192086640 794227258 627719787 528713831 252043237 483153688 401250653 152316116 220860950 646357800 756950731 676816253 750398820 388929660 956695704 269769048 909582369 411484978 656686309 986123876 403695472 842320422 462250170 170585751 271567034 743863341 868189693 204573133 162942744 960870959 386646478 771775489 563171871 490416172 272374600 678390308 704554502 874767725 746976678 218788170 337327139 796005396 495760157 980106884 970449008 192504402 642071129 459655537 906948792 404405644 710784323 969946190 334265229 206704646 263377088 146692281 696213005 144983810 506826872 363072055 635858284 629889420 508281028 449196331 403992373 816162988 423160322 732703239 454760177 594563883 311111397 835836513 353838684 787269895 828045386 567327621 403838063 168129869 305298686 393643660 403083149 967396470 251013680 760390786 501006053 955204858 183181827 357641416 944972050 326398587 751749697 817519742 758912905 919623993 441702174 316652395 431374437 743028697 816292938 143156740 864689380 536744412 304956034 155697716 302629771 657959543 182400690 714648781 739645091 504864880 416807654 115452153 660657622 527330383 344979564 829074050 601829432 677488164 661260877 571401703 342482198 397434687 543953493 684010881 570991909 661861807 289087291 734156113 785626171 713711394 757335823 668866578 254259371 401532405 614777578 136854302 121569995 325413922 358480157 915473717 860750455 504351258 451488473 546892561 157531394 840483728 326805839 519927186 841781539 252139578 445331295 456401879 539224032 582341458 720340911 265619123 845273113 411044492 711321283 602566135 972126899 955118233 620667181 639386246 316411379 673778503 643701162 395325551 448101798 137175203 812013809 592858415 991887594 755206202 730577782 419703464 904014984 798686884 434221862 368320044 388049198 708703428 857096807 859200513 294679201 372276623 234528130 200606743 716811152 250870382 923873722 256097840 117064028 723410042 659792016 382429050 714868140 620415546 640081741 135808308 178927040 509190829 545080895 690472729 770732570 927769932 607133472 787101491 663041461 979585870 148079868 179671401 808218243 620145458 723962542 454389972 674735868 679822377 407273470 132918378 711099902 208558987 315614250 153307345 464831146 360887759 257486050 176179881 834848088 887993554 751740077 918415328 349572546 532670294 957476447 707151656 606470195 927164670 491574412 640866817 325545091 233765202 275561880 987631903 386220364 921079767 458519357 176522794 878661695 177774658 157797904 166249126 174034473 102163762 921105577 652126206 212808309 280572485 776917763 135929899 532075196 769489235 211794554 745347419 849508533 637800772 207891372 221184175 948129065 230304809 967046983 350812238 267485537 276473725 650161659 312214105 525989249 242493431 434350398 885562675 825994991 616429434 728224406 612406594 686101742 605612562 211500806 964890234 311514667 993621901 537682077 472246739 978809861 487568567 592071445 124078980 618014839 331348523 102508836 625213930 369513783 900174123 182390865 310961859 871346599 211223606 350946305 393538108 151959905 594295588 667094814 289471653 940878341 996497867 124991306 544176439 229948981 653757881 377628093 674362099 501666944 631516962 197567542 538827426 680661639 655537868 658291576 914494715 116660001 399810479 548397123 261042369 871289059 980196578 599281221 879746397 832761272 994728617 874996974 412354953 963500781 445785326 823626542 864294663 744808181 318966540 521581418 302696517 542181042 684531965 260146067 211268668 935288621 506052254 942961918 663925650 348609401 985043691 325858275 824649096 777495419 281141537 556854741 382824323 165463037 224437393 123599412 945209635 565332969 583011640 679178998 746677608 606319896 825676580 980986339 484157108 111875250 918854016 169290250 931671487 239841591 236686147 856966302 204449498 538380852 835352839 694957172 151663114 948011171 132651999 184398899 538498483 248370034 881901203 439442640 110422591 861270209 354367216 636651335 714804584 130145932 280042266 313424003 282965177 593946199 801740300 378199926 513431361 821978724 282497125 904261605 192057856 951630563 381431648 515802098 496000820 666434883 996930541 478521165 627451872 169798550 734712459 217121260 389628392 350086854 748155166 109373093 696909994 158894425 579723993 959488907 549577962 286706558 896664242 350056925 555000742 765616965 611851320 608959072 801433309 159082853 315433421 247364646 986662064 941730368 350447224 733903216 386740723 111393774 825782730 886340126 799393401 110508544 472167086 873404047 614498559 505793777 188857202 761296096 819530603 566373793 149895031 956587174 181130744 771300996 385237994 569505557 774757510 296491169 369242962 951308056 895168581 600108955 827113538 413984021 714737793 413482124 948492202 130024934 452932535 355962255 216672635 858781989 380394132 640822957 327446732 824207935 742094055 547364130 925417366 379622312 742895316 118936122 238724191 585516564 885338079 287095073 612186315 550369471 993031504 766328545 771045391 607619981 301455164 982170066 811603570 810765577 503518124 104495514 402747517 601523427 870416610 661540683 876484855 651668509 393379005 609938029 333455383 773070949 204531000 264192102 439144359 327271825 451030486 368739423 171456636 507132603 798484113 701797010 562368574 759436040 370219986 986103125 867862358 643622420 358959063 952304337 301275457 200040033 175255947 907047149 317314436 440516137 728956020 843491457 687347061 942604704 925980932 543197027 212990818 497901348 977860496 971966639 414157002 932242234 289339594 866223881 849081459 897264687 610009680 921932984 993773756 449159751 409412918 315053164 784752660 137236591 446060191 230879535 535066265 305907902 995433631 359637626 418625954 828583796 759222361 376548787 661363198 892515701 864847535 567039608 287018357 291066170 413254057 235100768 399996790 934516341 934535864 669256952 697784951 851146856 899603685 530843565 819485649 372016051 645445492 230310876 631517453 226942181 865707956 678325921 901000084 452297047 184693549 132986656 202634614 121908817 955527971 655713214 312974883 192686741 447576095 584502720 526534621 443446637 893631908 978898518 480151793 257559552 355631697 487255530 868855918 386144221 838813645 138100523 461926988 383462253 369780893 744778069 348019516 293567297 643571143 271360686 993932999 791932952 336502099 252512604 553857807 398682095 784260296 876048942 833099202 161179587 930347899 357530611 143365462 563946973 149024054 625602466 381066665 287702018 324581862 468997645 654013056 488446257 747541681 797721823 298016295 220990367 743623320 180586037 803678923 545406774 972559770 104223554 692577717 645122523 694954333 621934262 589012776 666373075 824089920 995956044 596791126 946479506 701502864 589886130 189324963 381025622 877520728 395669518 274515092 765838920 758245152 132849061 881480118 865017244 651840582 346419941 905302824 244317819 446484388 816441221 764923986 360953009 133106650 151704460 259134225 169434911 236760115 977570658 930041307 867250866 403398616 682841900 343517089 298299241 863545786 310563793 178035339 407947336 848190357 198452022 787712871 980009376 514755170 478912800 636695394 327896207 178814729 911679395 397407386 372976045 402016588 283593608 242636337 835609344 180328607 336253250 203871318 466387710 801376703 232101097 668224971 569353633 432799655 529098174 970921835 274357351 997873778 567215399 941823415 731871288 857331026 225408971 591318459 955894175 941617773 603054542 799474276 115502221 337301512 520535035 837583363 981888451 752568966 307323965 415133218 519360749 242176349 365871245 685959812 116525554 317186211 522629710 296876084 886004766 292166703 358236812 493768602 891400740 660678081 982021870 115557050 521365681 626383176 546922899 301858324 483520578 222480995 183439707 458959797 108754614 955688949 586792508 705556335 487429353 397463675 830076633 266650202 482891807 946552580 101570353 952064801 195068664 359169416 338144801 465836423 311727244 647230277 690091043 685378029 692824394 446945271 316402508 936180978 215146466 473251757 576417898 746043854 955808946 247741011 695285106 169713470 715525290 929368993 408915406 919670618 770166334 536529682 910684235 877749559 811442926 646204808 162690691 227839690 683784137 954126669 609147119 708686583 630115006 676940378 456290558 497786573 500896472 822036927 189002859 872673321 543487517 862923699 847871404 903530424 833682472 826011042 764921562 219370602 540638832 934494673 335114043 602903163 455814418 199416967 482003203 761147943 326360165 749673611 598666168 599257302 853207388 991056463 888889611 648020677 769151912 903259707 346434748 656688479 504858277 538395599 298041945 275980583 654189153 366823281 430708189 760720003 647384003 896989835 575583217 548775931 789729432 321930341 779883540 261195615 541908066 118223419 610603051 153227828 106869521 253218999 988483680 343163013 865650583 663606157 540350666 530066085 970301335 912291035 732430741 766146667 303909657 477916135 141677821 862055776 328606214 805265556 448300055 827630452 322804006 898362430 671869300 547080680 938038427 777927207 736764661 373528694 442700665 847569338 416795249 768892970 675195230 800063575 526820579 686097342 586894105 711472532 877140144 320618966 672541491 829813690 838826600 939489901 251871323 882646714 966344076 703679079 526544856 377718527 170450799 484287722 718098404 431373405 801964949 129615678 253675834 297117021 564236760 319478267 321595465 776660277 175409896 667090562 678000318 432799135 878935733 564041771 970965504 765507529 712489139 995849531 580629297 758711610 991487191 526155360 615240951 391401213 769639572 894468217 423247184 228141918 257131507 691359896 592655893 777328499 694184924 118716007 192407159 937805505 212473674 331306257 157477958 949810440 883119829 936688679 230417517 861592175 429577175 320300437 945043403 966332945 618008651 857265322 251890215 136657187 177036230 675536575 775315632 793246117 599064098 946934380 405064031 507446468 295811006 914517193 209966721 605053544 637976194 223872315 632881701 204205727 298722357 981182984 855713923 519592914 477069924 321287873 405277040 135995098 488649139 821431481 388100676 125270538 783471000 201559927 413706138 319282591 275707796 233979147 979214421 916063982 504885799 727022576 452182861 406635585 802651296 304044024 651956447 525379566 108887383 463642861 974550712 318453676 380977171 130999879 638919119 358023884 722681456 229159095 252700183 620462620 111026536 258681543 785163211 585596072 669055891 644915444 349102669 968885591 563427730 121825455 107874889 866521612 859079716 211080166 193589981 887865836 931919944 404827118 747467146 610945327 871703042 668313346 429879516 837721196 752763125 357897278 315417470 627565512 133107119 438650688 479987918 602594493 384468829 533648806 776483063 472677771 612005595 571894628 720095444 625157774 228364460 231136607 154240067 530600302 787238656 758380691 347159096 857124035 273255872 137546954 679934445 814350395 992593154 379300435 991997368 826957789 689645765 694039148 727271908 357807419 311668941 500715910 419362883 988477973 443952908 122110840 945923113 866022016 181149208 430650178 299774349 497820019 455911430 133005453 455200310 229487859 223943254 822349130 794018122 828238505 373524854 386578837 469371795 491366382 429804310 500658784 565314490 884965912 504478984 567687893 128458578 335497331 943018425 578922157 449644167 677558317 843663120 896917460 741413872 696707024 596799228 487675318 778972326 911738274 721276934 488475310 793042426 671261666 316754787 941359835 692648468 338616978 483309320 526506141 859190437 871041119 795509567 149637369 152953376 781464920 886604009 387070908 101498873 694319847 230569174 967426009 101972781 220374606 433440150 232905966 160683114 637281196 728668828 502056516 939436979 153815751 343067736 774781251 612642818 998993468 106022538 581637946 305579794 310081877 227987877 365453230 702767488 282839529 953433679 622558401 981507401 707226837 409325651 675696444 846901610 998414466 426339321 644878012 480383379 438796680 472135796 593739316 158892744 968174815 995188710 517830715 673319319 756890491 880462725 393236969 652009794 521575372 584308466 113784914 853024721 990220659 826683890 327030572 907626555 743325835 666707898 557340442 248936670 703729912 237013689 490346047 943609543 280203251 264177167 713830624 363600079 520192476 807991489 504624260 120373370 424959033 869633061 670811990 648558149 299332313 593830088 572169258 224175694 157894997 938964765 479740403 191901532 116773894 385476678 883629665 547618257 473687906 253332182 903683789 133502287 567551115 349678093 647428080 964331323 844389102 690806166 785188641 657805292 783031402 624190160 136494485 142300189 585714143 784020224 497948261 286106275 754814495 366715109 307001976 674903589 631606782 542580502 994820750 323725613 492213733 566327790 383635093 791176990 775151488 275816190 822025108 743142098 375435885 137904648 573167265 130605896 450074211 762896388 368393119 579407777 458985409 125747387 764356868 780438290 102741535 363156718 705842504 730796507 324484658 762150873 207005010 615355388 331230980 964160375 409298757 713965879 662127040 468647393 382064439 901534670 689897570 996292087 165312766 287973429 654941553 664759483 272597554 259954735 948784742 139050390 965210992 882298521 388800679 267310102 834375632 933544771 222129079 318921377 470393447 779343840 210796914 791564451 128344675 468907398 347564333 106068281 906135686 264635191 179002204 622657853 194146436 349053643 793575590 897177513 774131312 218500360 817194829 716533380 334008406 103847262 294507348 565983546 753683722 465754908 809081998 541949091 792848075 561672306 175927644 323368485 411075727 680958815 962026377 688940256 926314284 320119116 324063045 132305055 668419472 674734190 935944645 298878185 643337195 599795628 941848914 668386007 731689246 885251900 610957202 563820577 361882965 757246430 807326288 323214674 295113686 551674284 263988807 960487356 350534213 488324419 835044074 730929977 633319429 325913764 358921228 447529123 654258648 204986428 317515631 512762936 809293832 849694682 940179632 186738909 992112500 226330095 507099348 807132909 903556275 768071528 718529444 639804309 110814360 715978754 760197757 501558640 901712143 864282725 638937976 542670291 387948864 324240644 763434242 860480923 400035721 606620725 996447048 456405015 270438211 444740221 420507846 182902112 392378582 450932328 242560812 335088480 802704480 243598439 284638891 238096540 837596055 790488429 203581746 737390294 272323780 538607828 488285643 886876101 755651885 441771838 765365779 590635619 423620931 113743116 493504538 693104416 683612926 217366173 963028490 172475130 880768032 750094642 222921249 575284756 193995343 510350179 231553268 986616828 583440920 311558299 948065182 148425647 269577559 573721686 674960611 337891420 668066212 650722748 912212012 532807157 748752519 727275505 831922152 595630581 555063337 361553590 489544616 212271376 376323416 514662707 626600079 216702873 492600308 502340937 110337655 326447299 837483432 943083009 684075429 374547307 874296076 894309915 126380064 294381842 843310712 892560371 585195473 196094964 992457202 203635659 907857422 299154666 169757477 528977039 464795361 290902138 531616129 285796751 147189360 462069999 477898046 962727048 176241250 680243860 902785177 755218027 247946733 506156274 501922491 849934580 818017904 682295845 421846847 193385595 703913185 368544145 503016356 344116456 959902357 389150172 155102612 189184486 279965926 478120953 868079775 180440783 394714948 834353701 440782851 586281471 449540727 499451819 133851106 662809742 385718625 271444868 838256463 336586075 198077708 855302570 374722495 526291827 591134294 538162039 547070441 907602304 940878198 428483624 643353376 399398439 677262733 633034290 727731867 810496745 183519668 107078688 692608664 338702741 240030912 728584041 267178078 684684176 307240788 507471567 545563276 171131945 182285442 701023284 758087548 680143915 143542910 234085550 345176191 227753771 664451165 973885236 678791692 375313481 758126177 955858745 133187467 259720640 273366695 710860413 495113723 624610845 240360063 910731456 391133243 683383953 912875261 994958504 306305522 440502171 609211461 756396088 103923266 119352256 963305442 943437940 623923967 780605674 335814622 235569492 491174994 847602268 722814215 896827111 401322453 710577985 660079512 768412490 774857958 619068475 720965583 739365836 648863291 815994420 815994248 358075933 957635143 481830352 232786841 787035828 124331297 978893399 814678650 990677583 397509422 530125818 902658936 697631253 607421383 138138654 847461811 420249473 320056661 840966690 163489231 783030475 528996316 362510888 501632672 988406893 614849300 660841485 440197266 553405420 216747075 911247565 385440286 321938787 206576019 243236536 729042745 564289947 121086040 451896699 287988136 858242265 948509546 481385638 752241138 394520172 491323334 696163636 309435831 273422289 817714546 526731986 417157145 406385671 960420103 419255316 440556119 922423055 666204906 765163589 960339288 868609791 215679936 886747062 542984387 986814323 120916476 901261440 576414825 751656922 590564412 741135472 890657148 514463081 346514939 844033365 138330247 780246829 694751848 938120689 159677010 803697662 925499950 445829261 240345138 713038443 557637021 731278563 881888556 546795166 404826761 396009587 940948964 567780066 355894023 114748433 956758137 216089101 175250747 154578494 828800413 684961845 483200989 770989034 809578144 708908508 310806334 726394554 772325473 404264884 561842086 597728252 174541918 233319920 855205490 346843149 974405184 142491761 755011729 361087194 532718523 622012742 115949727 740989851 174703917 143343159 150542711 189581604 207588897 661780967 686956961 101397790 230264192 530132038 218697693 648803431 998294414 875697048 912503122 953795129 210683595 441748782 519230063 530136516 875945721 425772392 284995217 909378207 181759619 689947429 219842041 352643268 349231673 690498245 524567050 244596941 306263991 247414483 688049271 554824684 178079772 550092621 557506440 485874668 248220021 253061279 127719964 414593815 516471830 300841422 480242298 950246462 923493961 346002246 935594108 719531471 465920802 193098577 356912167 831667134 156032509 965014553 766249265 873391705 718656759 858435398 919396149 613587056 171865268 538460232 770427153 687237105 538755229 939898343 412024021 902408185 575609940 392326056 805434747 801358651 736671726 321188584 652596011 379616895 688818286 396856798 791962513 721195100 798081263 104955091 233649886 320986400 633857905 822652335 581664022 449827955 244296384 797853274 439489638 510968552 476395787 964310857 398349104 219250096 928178715 340494674 931258173 232289077 687293323 796852688 865649767 610771363 961314127 249878228 643039944 397469969 965195285 313544822 401719559 734983542 317186821 280008983 991852992 147892241 796148347 940108022 740744011 673193343 806516439 210978798 118780853 745935871 543781212 780905285 175441049 335719759 376328094 701485948 521409622 470129908 960455358 229655562 505143169 306068482 677122687 849670366 456693007 494990464 684777924 349218185 591704819 471070921 798886530 428739750 174959054 868833384 946952358 696330049 816734270 312534212 761395071 157933280 118438138 401607120 742530905 779495710 368537058 927439515 793675615 812682327 486013742 357857998 325237251 372930316 262109267 396980983 659367484 473574013 895619450 731794854 540586772 867766612 186640818 105153410 469878079 317672255 820248227 377632521 454158887 968211104 919822252 560309540 891574644 110193768 747349887 832645731 736151030 521315663 515381926 513406126 679769989 803324517 107735961 550581526 635444371 665541139 856427705 138480863 639030394 194360300 292246068 335666040 190538391 586008373 261139154 347745872 341416245 257922012 957805226 384384061 661028233 479832447 363131649 288887732 713873063 182972888 461904907 712402642 630722817 958926368 657067566 573475077 373579217 202823208 879643073 163025554 430444422 461195554 380306309 736292207 254719951 134300010 339800434 745878117 386484894 167984465 816340930 310177570 806264872 167149912 508475771 254115659 709043845 758794706 499498076 593776551 110731131 160762141 707434017 744156186 631174099 875191284 325954157 533396783 383406068 293863677 679588254 740879736 703220562 924844324 892806983 768423625 358241659 717185203 406799822 927203502 877892928 567875536 655983349 466577908 280314516 990205123 220058385 424745080 538928935 883084513 370463408 251322466 777359313 990553141 852116300 144586300 501677510 710381407 784619149 762969239 389935664 169215591 295247112 546670282 768028522 339703427 584876118 201193631 584742326 608957903 623298123 321024928 275385955 741771872 581269632 219046418 627452487 362282368 694730852 890409371 634078006 456809901 222094908 718924399 913649647 516720090 577644727 570561429 555571597 221729543 854588457 402161627 545128991 462428582 568333884 797458097 802837289 553631647 979352091 138681139 152421939 192140746 912751094 583403053 614510980 230125760 983558256 650775643 434131260 473379309 597323947 986470950 770797488 994673590 103203582 227235801 902344492 759869128 627027977 468586331 846780988 936524870 585831123 127069866 314429084 288718193 404888749 652235275 564380941 114492064 173863992 425930904 674563693 422389522 739580994 946980100 900629883 356701543 936954682 679576312 119112960 220939514 332348760 332136217 999343905 961276854 431939286 396202760 343587797 132693038 691425908 939096140 327639897 301152905 738195282 905931691 916365099 316372026 212083642 987606711 199477867 777747882 594719018 841043375 789092714 323503545 249527855 769561774 193265875 449809748 135945573 202414703 638261462 694889567 922800405 897985838 788306081 620291793 657954397 423059086 518721951 296411570 193629232 989734316 894092700 372971840 844767045 310027181 155796145 660340453 981444667 916208577 238050407 839446228 572375132 650708073 629518689 755146682 548612936 180473893 488601487 256382703 392618966 121496093 826107134 866336723 973289766 881167286 736288454 307891100 528649517 945659657 970582320 240571460 169036554 414494928 945895115 908511109 671174780 840600660 242658295 642374783 717493843 344537287 471870127 617547375 553065937 923250007 126953369 907131490 282271756 628794900 306480038 160077318 672397125 152747422 584715097 855130203 266223533 673750852 314015086 720702096 965232717 806415022 770048614 842141775 404942733 148901966 677934885 104948572 444822106 476614195 319349981 466066539 782189752 987537829 111145952 579426944 149459200 975200695 816731051 635741430 486776324 392904133 183417938 725995840 569125032 234424937 183364281 373990714 440482967 458402424 995318087 367481642 366195044 743542810 978863623 459308995 292522222 758391310 409410988 568527660 766143275 251270353 663555143 835898227 539493141 858530330 666777621 479013801 950757194 193306932 536595923 815752490 309832401 831746209 755776007 340122030 671071556 999919013 444383816 895722335 930620122 488007469 739575352 563726907 762889537 611986144 599883892 933211715 486974505 471457847 998039664 758789068 552584886 360607100 691667656 466309010 288916417 181520203 428599173 770019873 860158449 873314596 887479793 916290833 402335459 785516426 329786930 371418241 885241952 765127878 822252372 677937435 637749374 232119795 513836131 301103431 757409970 945571864 932964389 337921243 821523959 336638639 159517604 439888920 417287342 672594489 340281076 678336457 124084315 807113989 846906178 294131358 540635958 263310792 406974777 718351688 582782422 495526337 141142429 491956475 795968650 510878973 875062652 719377423 176154049 118978888 516246670 836673781 620055547 193852794 199219912 732198615 838948422 126566851 684482504 183366245 688252414 607811500 466060259 626158027 230228711 223626927 767261574 902824060 120578654 549802898 280088715 304652063 832059479 147528512 935535029 223091618 391978266 826111362 629725164 173846013 925150183 950936695 280422620 324342134 819898757 945107365 250789658 597408927 161288258 622872969 442052398 114079022 200598296 171428082 606374040 613037921 202792383 299364911 873662583 915385781 981455301 395202277 521203892 360050660 842406302 674106297 373888999 724947353 773829577 757445810 237508868 969300159 553284108 331027430 664748792 951755000 430314627 454219522 926120605 375382782 381938983 974118638 541354355 638484604 468853408 717958140 442735331 865163802 371711394 967365960 764433948 709610181 784789364 696461580 486035000 610624605 865330091 405785796 389317974 636830444 570089391 306901269 198157546 702378718 737522802 894218729 116041002 915937116 767757260 251029118 432567678 478412561 791545843 759741313 878878295 591401489 262489300 385619256 974531078 255380869 303718165 180125263 864749705 490710324 136937552 136454028 782681054 945844213 378699774 730786288 754372421 667442893 651005790 405148599 629802344 659871074 875107860 472386384 294523681 877568485 773982286 622845391 460212917 411566852 809155555 329059821 460470243 705753973 793761476 173806128 484463205 737493144 957224380 762516396 321554182 489422922 770321419 984074949 782757628 747512249 517283733 423246853 415488728 860908654 343481440 894156357 184115792 417452785 811708187 532554429 413431238 270845658 416839915 443277576 875733614 586616364 258609524 676010667 455298255 356202568 171908902 276347218 421994595 172652567 711034782 140150251 181957885 141713527 472528043 477441323 889809415 526310584 320062569 544064176 494739415 748204018 360670685 720547923 341836785 573974133 375683005 338738531 669844107 500298634 286492450 642404789 613712956 126872543 792662026 937066195 539877861 947916425 597983768 205098295 766035515 519568463 906786978 691570025 637382515 866400554 274952031 863528753 439650814 730581181 278996307 103621914 858031277 453894895 334428670 852750020 791869911 604075673 407813938 427415884 108251098 768127953 554698488 693344112 204257230 212135467 403499316 258659993 746279040 716389274 812062059 133990737 512219740 485234458 814096760 967270970 950804031 190127407 522606759 765447171 664848846 909615695 683582645 491344845 309822026 296414384 785896336 195306392 971378576 275000974 795540578 900767413 509222408 680360777 620675905 944436996 934038155 930827692 418939751 676454127 470473825 234064485 541154921 807975837 585291333 748887007 539670298 586463514 772181331 194817686 100273520 757755650 545839720 876316351 403373213 464318010 360215387 947881656 440573222 273075564 157327440 383387809 883764299 582743060 861834840 517902974 976521843 263554829 434374645 792745038 455969088 969190939 296105960 825221713 624010211 260285542 995358791 228656158 594028860 403388257 679694368 496150382 863630496 166688883 702576147 931326940 842247847 661393342 493688459 799876796 125690025 833478245 927055777 279768624 113290808 258047266 513186203 130728420 511289493 596274612 946581624 318420252 650689665 591141375 813729650 892006548 114356216 193458703 464554216 844960032 481216401 818074142 449052722 918833639 142139716 322586648 913069966 967956222 136378372 937175241 892372329 562041463 835159601 528040061 764191796 441039585 381234808 425926065 230405719 252745565 974828692 957479750 285991305 627436486 176177847 578562069 905797441 144065885 383671020 698979503 275222908 707834799 969354435 232139133 681115497 734468892 229842303 994246173 230230433 954046395 214738144 886918853 753626631 239498538 690994320 373928407 835526688 255425613 879534613 461561587 552069779 451795420 842704102 387158041 456149195 917752965 111968646 104275350 936052125 439648285 291852278 621581545 161281509 612803598 614951838 153313139 884818116 324004692 140573367 592504417 300002590 872951188 739328351 873581583 752855589 653484972 850519594 400992446 633682441 901561529 143290536 495471590 994780495 613872977 311434616 861030247 180638275 757471795 755301063 650099929 372498100 592830300 148899191 545181861 622658531 499113343 665934170 802490985 676075863 576442234 153013978 965055006 982888854 360836186 456348367 113185933 311481724 747864626 589025134 867556686 814926766 312123690 870251745 482691190 132122683 247381929 502193316 470408551 237854726 120349143 456953136 847336347 306263286 137779529 823188931 157212431 843063233 222817769 741385334 195746809 881290410 967213041 175245252 424467809 711622821 901913653 482542169 582466414 120980129 290832841 517115954 427242417 816605316 331954586 162642035 901100671 658226233 903033946 938194225 492491402 252121550 258256940 241726981 423307891 964477642 241085723 467480752 327143792 635824957 407980682 709063948 574971205 710264089 171156888 568466925 210431952 745963599 226584245 343648240 813948402 631431901 713903720 199795143 638149194 192202092 991410485 480351123 230323228 946520191 310300490 686752580 285669499 107884567 792403257 506677196 272491189 437299133 407111225 646597026 999156084 982895913 877119655 717750286 559716784 444536229 813080922 680906293 905332290 665348660 537693823 683531844 698911741 703000150 444259846 928071605 260698245 622259055 804819753 828825658 384976967 602126647 765491826 141776353 730450106 126176807 642079013 445525536 896023559 186485779 692977100 369984583 424121090 189276023 247775711 345392125 741780637 580173243 270223273 721137643 160537214 659266536 449385723 728247368 561989362 329085651 572832748 428326808 164535759 911031595 643004792 887501232 495052546 346504602 731777317 796749011 592942770 973332903 599577680 726309594 318200041 276728095 819395180 617871221 318945686 934458816 961055665 495397000 526158757 817584859 787134319 165724584 129351461 128872019 995881750 111094449 986539920 131517844 746318889 246742461 660402707 584965037 661210363 931442464 731854274 465636861 953253703 507117630 246002200 514944958 720160214 456508042 357002734 243133742 823637672 522674239 318335312 224855412 300610827 352842609 329558133 655467014 689829739 778183257 842904763 938577091 502531566 760641305 124924257 998082378 595724698 386208492 826442723 299487595 462385835 777151317 281765655 630728593 732833714 264800182 660255213 219993135 332275775 813394076 788269885 429870873 547483850 295506340 301563486 197568361 759961123 123131092 496115584 495411451 694015046 441438801 931936168 906398145 627544446 505300615 925080603 913389955 955923784 294957704 876924902 870814477 164172622 207338539 715206670 560289788 553347902 883459009 163227085 167883119 310427689 763040559 191787903 524380042 595948604 217677020 114388422 888362650 852610931 241603004 333139654 542361213 811550905 373756716 835157147 899837719 923699480 131882839 649287064 604091618 368212697 437222820 541633296 684642193 196312329 176442877 287940551 463342339 549574825 905582034 617171740 144789479 373050557 734864776 167788409 982443952 836596599 620701533 499330732 228029136 393645605 835830607 798911388 820111379 479157907 183985184 113725007 485798502 102585849 984313671 902316210 203972982 647540211 506685277 988846434 875624726 378525327 280724324 865839748 210841683 755708980 480345844 394875612 174753615 539075530 985201718 992756254 820513678 108570481 813856964 602841314 921623542 131979004 427167277 176409707 685759624 371117152 498000738 213862729 847044787 648640969 386985815 469125847 202900175 307948431 670766172 150093251 826828152 947012084 537417235 695170727 281162074 817724715 178107306 712542854 250529844 207156483 915663323 704904584 913237188 897844559 438201924 456355028 306846403 499752899 298422913 690205371 204396901 168308747 658518738 788266445 647286664 529510863 460099101 403577656 751548996 811572599 121681698 710935514 561927244 457046393 887020676 668070500 767949741 233433768 167064080 779986769 165032745 815788102 735886032 920447439 562999702 788991853 391754949 307895908 504188883 360508364 867073820 251093162 212504678 252638294 222069008 313458329 316198041 662416248 494165072 262198325 882809633 625104181 386985039 971401601 153999282 849433605 900746439 440880320 350466930 869155659 832429543 244782992 921703013 483750285 379235002 696943124 191970614 174464181 819291528 965524184 501301985 225634412 133632998 928417706 857344599 405966859 596412969 238635822 971861480 385354305 184751697 887039749 893630471 236970404 612442060 385992943 874327643 322558196 169612613 539955933 486274885 562168579 715486663 316094824 958544410 527963711 503535146 617092359 908889340 335452393 756827613 287854094 252366389 790096283 733526651 639273804 872322500 870788405 896808705 327084988 379043281 182754201 142665818 706965724 671106110 538656115 825654813 260172497 598019619 530141320 149498253 244323424 914151820 306734641 101740941 773148553 439085019 150852635 225703614 871009934 245403033 993428979 987290765 885615233 516341564 822196011 286567527 471608226 310619126 281733694 333827246 630642175 161600340 872225878 416254755 216205667 386287960 711614996 384434505 462453125 431576119 790518191 404870511 350778910 498726998 788747873 892548230 518151975 448972460 926003354 527962443 687694918 361911551 944466736 485452540 419203914 435379037 909338695 609772320 587415109 762018378 968510238 704497200 548860529 844831374 991433802 362053318 100078624 821474812 947750037 962933515 700306334 709170301 489877233 882555651 967058692 376414905 331048899 659141770 419272451 589213331 199898896 812252469 514647291 903309772 365459568 174702710 995938042 886645111 306705677 895828710 953525480 571412470 881924606 433624088 586095334 248479180 166993112 478353393 895694349 311695489 596789313 187952096 204808925 472922040 894192494 927924963 863320721 167475381 238964086 513533775 444150821 335915450 426424672 715308828 462058593 120379575 404626679 572807377 810624665 996833447 471430866 710465229 792097884 926913818 803855929 344355255 369583127 715186298 997513226 528555721 876966738 957250705 526678719 348377206 203797220 596717793 775724970 104785877 222298561 160729565 681575416 877990009 542038060 625462731 789460239 298752737 513073700 463039316 394345464 434688123 254881115 897019639 596525187 679404334 600616259 146262591 336048398 395669059 684018526 805775453 316258708 247996546 504900103 804731140 830668656 574882226 967731936 647457293 279633217 534076397 291608592 571740140 892790971 397395584 541254511 726601029 999877789 578538879 988938037 758020818 452868814 841994613 465390294 275157269 522544389 295448286 301931668 973424630 457756833 147879633 847370822 655246450 830378403 305659710 299405836 183619779 429547817 418343810 915049509 307393519 681873483 722619069 245072444 277128116 356821797 200664976 332529101 622159700 706067651 215773412 299969911 692402826 322348987 868392262 617397452 614354467 366131387 646142789 616211280 337834593 264938320 548551806 949390442 804111302 767741949 579981323 272489704 151632143 820992398 167946551 893704831 440340038 265050007 706121896 129265260 542529403 380536040 828932187 980730970 664836772 147920592 630713839 751695632 958714068 510888642 955516609 780276377 396800110 228552720 256441226 423800038 435169526 782531351 717033631 493299660 643123149 931616426 621010747 479211445 803777389 365499201 799708347 852773512 265962078 150425382 402369614 705056701 383654522 724024898 523326853 221826915 627898512 503031175 330340494 669932064 648559554 283269478 103496585 955594313 904156397 258743618 749418563 126278494 154018066 975729398 207109124 635402120 664015989 993622987 117629749 150046335 135174353 338866190 810132079 801486093 800470930 764431669 687874180 573956311 358190495 472785205 770263390 719181169 345517079 617373243 613870393 840670811 995767419 345265788 336017753 938159759 514074661 582801022 100902356 463204378 367445664 943331768 919825689 498954973 358867152 147687259 334899345 399205440 103992552 486726788 523643589 171213782 564941421 141587564 152268601 695316706 859057660 178899191 110074168 329867693 877742492 229892543 425941154 153667583 974698526 621929999 765709454 551332865 983112132 960793381 349410681 369717111 658937557 854906970 145190285 619537351 420859356 615339594 234460045 752790189 388786623 666516121 522313721 575605743 451618750 367048539 192433234 901410961 194245285 768795428 971507010 399374894 142775713 244170120 382605075 323819569 722813580 656654952 772726783 224750747 215806009 846100526 296903242 485115318 129887835 277892620 112226673 476775140 812998030 520245195 672243771 770209904 135612963 801279084 267291345 893531380 630334609 725167785 762583142 197913653 882069244 522412060 334615086 802682322 793109105 577452247 454359921 234305907 552600963 156131836 627875229 698239078 545212544 703863161 562910613 359685363 340989950 494655407 869830188 408687482 506856843 624903169 908082449 487129731 200992279 463899101 526247217 474960899 360080958 922741237 414514490 292596484 287569979 994575981 257467194 340167935 873788776 422697291 294143841 388987032 285312330 402232410 560400983 758450002 247347552 685071454 832203745 626049046 254228502 574857948 263191075 292635568 166842057 977258604 859605448 178729226 149802205 125047761 127281443 516497214 664880492 795306002 282992933 306700458 942906290 805334548 861923010 170143912 219134764 117287589 191272971 304392340 765268128 904654665 581841818 869139829 171326345 245740767 567037513 105265906 793674354 109994556 446370052 193795026 101281656 206691054 876968617 387901562 852873417 388566392 133662568 282426674 930988532 324526949 498835611 441138656 226115304 504073604 192917290 646228144 397008334 424104084 323774176 314824301 546297958 839969433 694527962 453550221 601099475 340028017 104044255 556847531 754148814 621812794 145202909 323219376 664165513 519850640 213429235 824189964 495396556 128247207 585391432 917059332 442052922 340288156 892152178 195655644 580259088 450033686 486005661 880902022 919527209 650637340 344619238 389958568 776576081 425222626 133285614 110313996 533264724 773910124 826565042 587514876 736783149 124390459 912138584 494853301 122535201 607160840 805457160 385429684 974867745 734006532 158016405 946375067 774037732 525636395 670547237 154058016 768168762 831161094 164632289 343346495 313222644 112963212 953362714 961181979 217635716 654980986 463046681 329962203 677961460 300201741 268155313 232710881 275535408 326698702 284460458 776607168 373671686 218451698 849168209 121328554 456369284 878135973 880136773 627216835 857448058 752621638 573514185 110307868 793170500 303536707 345659150 793906673 702312932 939029494 649802187 917958770 190422775 176558334 287601522 946884616 618829975 481949719 585265557 915280616 529356917 250487711 134495992 783801825 143130289 549681186 452894085 218355473 848904431 689016869 189562937 512083814 641708066 615535444 803342420 553780771 933249927 112505251 503306103 432703858 236221117 143423237 483207097 189977269 424578466 926612441 730209200 506612787 938343157 941330726 611899755 384721361 285025460 751500756 734395256 667849760 216677097 304672832 746189692 415648893 623348788 932818984 240305498 228969790 874762119 673685526 435319864 887572022 926898551 712000708 615767544 820204586 354197566 859750594 416770645 424865170 397082644 824223912 234562998 868556518 137055263 672646569 828089072 618601616 730383492 280752892 230401031 545000921 205373158 369393992 175042412 485598832 243141312 348155852 914167309 191899583 600026752 397077239 883941203 129301636 606928759 275959559 803540055 736247474 139625243 537912645 512516470 309117996 389700470 559444161 391520781 872461195 403124905 771440384 203282331 911312535 785788188 486340411 537474205 603153861 668548545 837638791 991474824 155990633 876000434 550569329 818869699 353603032 836817526 450275550 641028462 590638831 753746317 578110769 470280110 960278529 788849264 798894275 920187869 311311647 684232743 525909738 804015824 518735225 665312883 149869633 636480187 111963073 628502464 916605223 400743936 805886903 259581433 104710983 603010703 477390204 982729371 497830077 417020843 661417860 699710027 300479869 776342482 268390992 229891598 615033835 138000370 829274933 822144019 413111724 257847999 403058296 274596116 100051114 421197554 187235312 671744860 739411571 896216904 116262788 261851163 653343121 309160813 473656851 561215783 145434851 661551510 275134628 535965817 698351764 556439093 147570306 898371323 562604257 127754093 277209257 910903057 376609583 452626381 410193126 969165378 895912020 831414241 582437500 144597625 507832907 994380049 953549091 319325052 484526017 837010882 182285286 829796569 982394233 226301878 669179220 456154557 172160201 305055170 243881802 819778903 796173488 534000905 841263513 667435275 850789900 187860533 997938643 115928810 405931199 993679914 984258695 215972498 495160225 719941706 290645625 873879131 616782595 463510702 588475287 421230921 637673083 526903346 204121554 265991185 771042585 557903681 778322171 365930203 265101196 192532658 898775322 741107981 784855577 771330605 711286089 190671809 669605422 483265478 304187844 575443095 564749746 792977565 778327053 518398091 830553350 818741756 301777386 790456234 786430061 615873239 697191706 300272179 434701847 432986375 218780549 437069609 709136548 904000698 572179933 564037749 856330632 583333425 511081507 202195196 171505457 746074387 208368811 130135998 496958171 347299882 241701343 106425995 348717562 822559253 110014733 144386922 395956324 637485445 636720752 959985213 219625749 456632539 834182921 967653456 651507774 159733244 972432129 924175752 394275621 512086491 147256174 910975125 357364242 429125794 828054979 283729378 613558803 811781387 517786553 505769182 355136260 916301512 177715072 644402043 537009418 177808450 324918501 203289928 237497676 574344014 813779883 703100405 640898262 448133040 483118822 598480661 718956816 791887109 654848878 910922346 737253021 852935772 627494320 191436733 626155496 279548495 896409922 438612002 325067920 278778533 767688574 900864410 943697542 658620786 457542653 537647713 635483971 343670453 765707635 945940197 746566326 429163026 968428475 833805671 191587000 279717333 786531029 933409007 905532107 402245680 314496223 296638946 435974497 225295204 517657691 558216640 696581262 799704003 941574582 616188474 921170635 884450769 272782724 249077951 642708754 726609507 431045715 666786927 433238992 985837183 208993628 229624933 785956157 244330124 982976129 477260670 692275909 343079253 566025171 323127390 620990091 151811074 790596574 207593623 695272807 112300870 123112973 907008783 879939329 628237494 729567480 840888537 103144776 936509258 639866597 732107518 602995141 171354305 456093905 884364986 375242843 194556428 768171543 377450887 115059913 915194655 377228516 341123096 448817253 912874124 861196992 282334350 515307894 890263585 397673785 938957318 728367765 801716091 231549878 308343382 637073428 686244674 451212552 185260118 392362755 499572290 674004577 704310414 588915033 643889388 598292269 160810165 326676925 464548672 225983232 640561797 850139666 899536607 652525639 525547726 205803023 450788196 190932022 788479184 259454108 183652757 664928202 971784469 669270322 896982448 835519123 522621395 875187442 105503883 392977712 645201041 987804816 620580846 663900724 816371024 837210657 320721632 360430527 268198976 282320641 381832518 860620879 935094786 580181522 931117590 914599094 896906335 175097225 805930337 276120494 640044378 990456259 325285983 456458971 986360517 846324550 397922174 410599285 732876649 173151523 971886650 133156774 207134437 276052631 664603520 388003762 612377745 649760406 159399556 223297854 128495942 417375112 132357871 249995322 255550623 650051450 889991172 657046281 305851315 206406257 496016111 900508121 768007165 311199363 164622127 373409275 692701263 954377493 666045908 984853181 582695641 613517833 110950437 370921814 108070278 810834755 549591272 903809610 305818404 692386545 154584071 146038970 983046459 932525994 763218931 612211491 150432402 425574003 919884004 424620887 266517196 542077818 156983484 502389033 505811394 618017588 294099650 492839584 578403097 553834090 856407890 867770698 722875247 432263970 440688387 699619742 556383342 628878636 187941293 778403676 511159922 808940869 101404667 644198730 243471597 112078091 960265391 571054964 688420060 866972132 371064424 391225500 424983405 214835674 866816273 151003579 363976106 857853451 510227334 319850568 671716296 391674214 484914565 555779858 180364496 598480770 852815593 271779860 117764513 606149274 643383440 983145494 905095005 227800148 415475488 972225569 980565570 484942028 813998740 598368753 933183326 963400253 388630395 437474481 713240181 988683000 345935814 981247449 357804883 468669412 259701844 941903882 464957939 675371488 586069568 708861713 307299963 433093756 116294815 513220490 693736242 126827459 327177662 658713757 638018404 119389429 268710286 889926151 217076216 137025588 444101861 352474970 541753350 621033293 353000425 257502430 960290694 787559629 325215731 632462820 582066482 610617811 174509190 551197715 686924395 654275387 395031040 999875888 763843112 390928626 869890738 665548005 470096684 337270232 386022420 743916840 823890469 686054828 293890969 728668134 724667035 511378992 684640444 886425712 183903799 764272161 387229276 160864880 188002646 844830918 825040216 470327557 681620883 471949729 517692884 784194225 547161301 677705705 235624929 177180411 683516367 665437639 305914242 199437738 639150142 752873113 768405254 901202397 271118011 339690233 547547461 843462922 685775186 698077719 679598881 620074294 826150589 293287136 709941982 548324778 373363205 474961178 148509759 936537503 787040810 598283565 298673963 197498151 877453567 197291213 279893792 546154372 385133649 130054540 427098816 576160786 679550029 771042658 988450728 486932111 366658914 924560872 422313470 678442193 681234338 368493673 753709796 979824441 185258869 988255200 535239165 909923033 886969952 125657568 890390922 498613724 470865879 913961428 975204675 739958181 557067582 461019315 760547400 676762721 368682101 165052639 936580095 975236797 175874274 887298383 383784972 148973238 573852730 807373108 442003458 775126177 507941361 400855865 274240877 887701007 706483822 845193194 696537873 968191060 627367755 543030918 618255793 991797592 459163655 438974097 702814393 614550506 558071373 686204188 919620401 911866482 178504919 265150668 586985037 831900310 285648355 165229127 851465567 201279827 866602478 212064786 491721556 503397457 232353273 985428391 443579251 733673099 236382755 676741837 753887284 141718599 102555913 376821219 545753908 911120541 490161475 116076363 487539281 641240498 133446493 854262665 860081522 968929135 299532484 708633381 957691031 675168359 453439106 334043542 391097356 433827869 608975760 719967887 672327464 712031766 310908458 921354758 616028722 819358361 868105130 211944201 468585519 609699656 196522127 231186561 373938928 991282626 588577691 148291716 288072978 526177163 943380405 724769771 581770801 784758337 896404718 928902725 328629720 418111068 836889840 277454723 254335936 508153086 873839540 349965299 650648767 922818807 320638252 995569255 727247117 788881867 972041624 742396162 466304044 764232342 714694952 109087228 807834089 752602182 602920108 862459197 840578205 845888209 441798983 524475668 267412017 835863240 487670015 826614627 116081882 991612788 411851810 147154552 226785240 879729175 689986819 635768126 877093859 706705486 120675560 298569555 802081175 102050428 860796102 693685348 494605501 412471459 707040126 867381107 859775402 544839691 906183325 717268074 890307467 263392903 185659413 805076172 351123858 588955159 900355133 245159811 486116180 602445580 684047443 415643649 677473584 904674082 996349771 232438561 194876356 649998678 837123176 368027069 415025873 237670259 181097541 420388792 506270997 641748278 446885257 391753428 103306398 717961590 285475107 830750010 128857755 293369362 191214377 926847593 706810035 304305399 776361219 733477068 736027818 660894584 603164145 847443188 434570862 270713766 110459813 266125968 875004336 975076600 796644332 655058182 933737168 505879882 952083928 202747477 857905344 222072518 798584289 447982040 611301415 727980654 688457003 919335707 858265710 409781388 326250608 957127814 427085270 310206913 138678511 597573085 155449361 367825197 540768476 575985323 915083154 989893416 802863640 667754150 468144106 938788676 429183663 122368674 230267295 970872397 281551996 708291759 646345942 200722151 600549175 184031535 880390308 151911120 853681277 554440268 320951405 627291578 577997882 138027273 195042759 800196353 104716441 210630950 608238283 525308952 205225680 542251078 866067188 850874597 953517020 967325568 307035507 134515980 358918407 624143193 397036290 468610499 748055611 534259179 898727129 320669225 210128484 310689047 547847835 887750637 363167299 884420864 901043329 934079133 307760924 395801198 375146933 268733954 974650009 842398298 371456092 272537883 361776889 807715454 507521721 653532162 260326721 114788686 672350742 216183541 167820762 340244355 682504599 775668852 504435064 637821082 712020418 742234576 571092056 396347485 292711570 848955148 158466080 136528525 470146529 183767281 442888885 204254102 720678773 683988283 995104408 819694949 683129990 740542232 530082337 473580708 829033858 334087009 939358798 203812205 934645110 152271882 316079107 210735781 272641862 507643989 997799440 493249156 897355569 756131541 530968377 687975055 757676552 728366162 855630014 694674507 277875942 627415359 667362438 123582037 582481218 832855298 278944843 680238377 704915645 711089648 668620705 213126079 311713863 336932796 698456320 743051551 132559452 523041765 579294254 233649679 492850474 217367217 652198843 376021938 496675482 745831230 592704881 777182140 609602128 219750535 240697686 507617342 268908188 461254924 265813847 985908786 713649964 176267288 381681597 510642829 824492408 374856214 628041028 241340204 381027008 324221680 883612392 701256502 312115862 983508085 631670863 543701189 379817837 105757624 254480870 212580971 246461868 787786307 460622185 906818931 352821092 728324172 281631758 973663272 925465997 559130727 880741843 210444455 167864048 446539882 695746899 860709346 684100192 688324807 179376519 832100656 299357856 350068722 490948196 267269706 447559472 543188803 564285412 434493280 507777739 273914873 730727576 686945824 476914327 650227781 398686486 411152532 689619094 197673913 463616558 572115488 536697949 912028137 581667800 872721000 514491470 928670242 409047347 653184866 300033665 899481661 943712833 278189836 349764592 630979017 480888903 256352538 291445827 396128075 298446434 651503496 963117127 178540354 339899162 912978764 681157627 240307184 504005027 940217738 383244114 578018718 468144680 789860252 486107876 315569141 278635620 719024575 972597630 708460055 887174517 157663647 988801451 315129555 706129480 820818129 569253870 465795369 315000489 474113248 583139060 870476359 410574589 898087656 922588583 747975296 486325633 943277972 220933387 438948042 975136480 828710495 842346870 558613154 459090558 520242195 944618247 487130742 406815446 770133779 537318921 727824467 795625353 480242967 504472957 849469735 572433004 430973180 348458993 413813165 460028167 496843563 457811863 815774698 897514002 204406123 414298877 193430605 502082510 454262152 292775498 330889085 695302426 711852651 320044972 915428848 367932841 934595419 476927843 205946231 244310012 944238050 599876112 577483211 712935259 378511942 408652058 237158357 597847121 272692110 543958206 783805551 928662850 981943768 356046738 646399060 780832610 786132284 188233712 640948830 499017923 720937850 402679831 251225148 353025677 244585072 618943052 631114885 793823025 722627652 329193040 434530068 752943877 494003498 234035671 482537854 780816555 980999212 380282698 954347192 152708234 173896494 108974848 597766418 842869016 123068326 849934943 921910550 576439971 750608620 986109127 130190894 678292720 158967871 527174883 101832154 793144656 819810075 695955872 208276010 259337810 515480992 881128749 559604873 613069269 759759616 239008494 748244529 522773166 952615771 415092590 972450630 586733953 893594206 753367708 356251936 888923574 872195776 852328335 540799397 789171605 941560128 431677680 475491249 780029870 394056495 153211425 328929996 471200771 725568022 956913626 285503394 321815709 685028672 107700426 258793257 128776951 339139050 463894711 619601913 488380646 320659889 715994221 502071732 797473114 975238592 861134409 289026266 427761620 845550327 251801182 970059200 405292143 352660788 937432837 718524507 289024429 639973090 146920880 286425913 852124873 109023025 525330364 523111606 523250971 732809901 582001005 431506830 231680089 942919331 433904896 357392271 754425058 192964715 710004351 440533974 115530857 866635090 448500408 840085033 272801157 831299863 600945452 903729375 663019196 119919046 472783456 647474901 346409461 793172925 331111607 977799519 120810135 404169519 327670116 633164434 604007867 696737027 886543751 102867836 674058850 310405920 344536564 842714416 933604631 806788546 389797844 854965895 381881519 113634130 963946570 193963215 841376250 319161185 242846583 567655261 245852227 434418556 406812874 283451982 347955611 785684675 489705143 342331529 242438208 260140116 993137287 442703347 953440855 299319819 344855545 343330192 762912580 342864913 259976808 433620144 166329460 929109784 607741809 932587361 837400171 308332643 313347395 807954368 929906718 373173825 634302972 391926142 563511242 944841133 931508411 655468767 868556963 424998179 441302841 472551485 116445121 208070780 839768503 518391203 162767466 463612316 698643851 519098057 972509005 147899774 726583908 780161507 215051277 304790979 548471407 683099324 995869040 156400863 961201156 204768930 309046280 390398477 171852849 809078111 997970431 312048561 356050091 354660333 199312381 659771884 828972875 762859833 678733115 903780574 898184002 541707484 586956448 623553127 992094764 233878557 256304722 998873317 107344654 856966775 365402322 860703937 376803888 506069064 528126944 779163733 821642225 260185307 941967924 533401706 174660035 492029362 845714573 500337577 357581391 739530274 551431642 968944614 583302573 936314826 298652739 365166814 808947451 476231360 484403877 337911427 996335206 758343797 346297639 109929577 389220183 119751926 368197183 596909943 266876756 442543963 330392401 332457345 925168485 491778540 101921077 150926274 307132129 485655289 798974220 762666815 272366599 446731654 334027336 566224791 473403647 360680674 435094578 797409013 968449016 767274239 323766282 871157241 831714460 499801641 742915262 273284110 770208576 881334270 491347650 579993222 858647323 686628063 632850374 440907462 577456560 769079900 264150875 137917083 943155325 418313050 922107985 244731720 639627500 945160649 784010270 233770351 756867257 541088555 627236080 258282087 452154965 864594676 977139829 201648493 369004175 488641539 503475997 169546887 648937542 242154656 455629277 979508108 812543815 291729400 215270604 450911845 436603530 672835541 254953634 229448558 441417375 772198431 667717288 503841074 578328842 487071226 546159561 252190904 858210971 176795315 945628006 891945820 751627878 374735702 729647945 886577444 773013292 122769707 359618670 241444101 444677794 382968615 186246848 740832268 771025069 340672340 318249389 393912465 903340968 509472570 419059321 903766779 139910717 656886937 294914337 789784584 306954542 532277310 108876469 197097329 740167219 181762549 139925076 330213268 457863970 248061881 300439086 534479886 376246825 149471137 214626677 287840393 971011876 169002477 789311496 982455269 120265199 414715097 716664887 598766767 633478191 153258725 172993495 612271552 595954419 619602918 174545729 915283678 487441879 441153153 555161311 416399169 207742700 528218533 549261858 597723356 349842960 161741772 958931085 381072720 259750596 427221092 357027364 970034583 827929473 693420481 317301730 759492617 200460991 577657124 857606956 421270818 324286145 927817675 274837466 338367230 541161861 240892357 910591777 166229623 166191595 334513348 412739180 529132415 762031020 398636108 315857511 576777771 252252954 759112937 576032593 932293139 854688080 995580340 178495898 618601831 798381597 907470163 845191167 633909423 759030540 401042162 358646608 474705183 314597043 650666375 925162805 296045971 249003916 644066264 510510550 521834668 554056782 766410308 102282347 465527087 118267151 171557140 532621490 344987996 437281701 888849917 345392715 604458339 628944077 410640550 228442550 576819700 766365167 134856284 192893360 788334097 183429158 442407190 494613039 934221958 361372744 719314191 592699681 913175867 659131491 736616732 486057482 963290768 208861831 299561294 338311959 753491412 665399026 227827134 619528483 868129760 235423089 808274553 340857719 588261274 718969875 592787842 204851668 596718652 765428294 672416199 364159727 662255608 362834049 665524826 248567847 444882131 679816152 468243357 105932192 901367853 363966462 117382141 934897383 148554287 352199675 955260551 783278870 335794052 280688669 807326505 175530583 936587508 446508088 366715281 588496644 852875681 716037516 982727907 391814606 108497382 429606140 195630922 515144482 638672785 653910982 792241550 112953954 584955220 396677407 192237904 668252389 878045607 712444502 827202915 729779231 371780710 927513426 128341764 309683573 304220347 366021608 548954246 542112296 852350424 522692678 894921880 991484071 776202762 197636066 340402363 207307883 122709099 109451760 250338144 325122821 863990894 263455516 783184668 277323320 298393942 371714353 289369065 614775536 660372933 963655242 169704939 588181417 257137105 347538758 766560216 149473726 781076682 511732032 852042524 427661481 779828794 747291691 338724417 264519096 362594448 586982955 936314908 576403968 234601036 563682525 524915700 636339521 837425456 993203130 219868847 287699662 148417836 855305205 230067467 528974035 208180729 971656817 925102345 269174270 100761029 223292371 199073978 668984012 100641966 844180170 367016825 754024878 948397036 301842887 669781396 676560742 250591560 244186000 628315983 501181125 166213003 789483360 938541269 167366465 513423011 168213705 635380765 721486231 656600034 198264202 942747896 883568839 103998807 575071229 136478199 995016404 917277766 627438213 488761166 632328722 814732479 213538440 352603565 216080575 815930519 283722564 494900884 142607569 984105501 179911985 509114443 238141176 209875506 803361516 397451983 209935057 835256252 645626974 773600293 344450857 830084773 329235715 520488128 810765926 161856962 569178450 239511141 835673628 174071486 227482930 542848490 120433445 160158280 456915845 555321758 799676673 774103104 709641158 208951680 328449618 333020986 740412917 328051835 102622083 535805567 981864635 462247576 796927316 774674598 529528267 550530289 838061151 936728863 840449420 868670224 984512453 364300604 259833929 327799513 358233873 983446276 636421653 929927483 172395455 295310042 697412095 639803568 314837650 487109817 957319325 134031306 620693168 770890345 555697319 743297369 170276182 808063617 748670777 865090879 408170628 903105974 708320822 356533974 573845863 722980013 197311506 744610125 900072409 805694558 914606131 705096508 416907698 203247722 326905666 546014912 154914539 603293312 281252736 823817326 213254139 248117208 891015733 174378018 998661394 198290760 223353938 829627132 965182076 396832622 844776510 215693239 632570423 440923907 395580803 359550406 157030776 778226639 668351170 500892468 171452958 625309054 809383152 930431414 450115273 822788675 461308480 128913982 381144871 909110735 172536799 681046854 399080265 740871374 291236378 354713068 408626115 395704432 674575687 209285678 759421519 661424212 230657631 363460005 321576981 312071285 681801497 403779045 109386088 138681142 812303295 620793205 670546876 641007002 286821154 409924823 734809044 891012059 177698093 127306605 139415281 215370259 193126442 962119426 243292064 891088171 758928977 909655455 921336563 684859296 915343981 155935088 577015667 940049287 474309898 159007287 776930538 869643808 480630444 408311418 205928234 307538400 754175051 849171314 868849682 563302209 330492209 678718230 437063767 153569445 353131171 437246283 738070396 157450839 159657121 997833980 909610389 526536716 393241172 579047991 488874804 225423658 614961210 113073451 435387646 828993989 584431729 571639804 161865584 522972508 281816194 454924535 294997085 969373352 677810183 768601980 937066654 986784140 985726088 147045963 904759493 499535318 395106917 534020571 459803339 134527328 100918714 609674768 858766476 610576962 399644577 427218906 273468156 452663278 479709520 243350370 110616525 676220467 562410239 380714499 777587989 152415568 664871502 123144075 849230170 117987222 606162583 549672906 989861816 924755855 545026078 362006521 663538033 604820393 454085263 673764398 523873194 253944527 752603173 815794090 827506450 460778959 708304047 706909108 267913096 799371605 517045465 543532120 728401250 481499407 406410770 685430649 349343184 575123113 812861474 906377326 281432889 478592342 405128562 326291775 217285215 773117546 930927299 265656147 992010139 759758626 995912981 628830719 535055598 259864399 270478657 160077385 898453663 792553289 269858111 516140425 778644404 696297042 237176846 512368602 882440840 229169397 597488812 491887007 804794655 519594782 581875456 626773470 959498052 699603678 647142903 964633489 357439981 396157294 200717626 606802475 728603109 231171470 621375427 796337892 411357472 516798722 450650137 119328521 128237721 736567766 416427605 633049684 565563667 843674044 646251059 439946066 597158297 589372528 336253467 688746020 424414264 580553391 235394910 210269130 203625152 617086169 551819481 398113902 782166322 121079736 383652232 686655003 207609361 274884192 208354339 815787185 690328263 561141652 738903378 664908828 938690221 596372928 738368330 898746221 804151873 750055317 376648289 713260193 531708916 444301144 792924689 746734067 610997888 895403857 285048946 113891764 301688803 305835707 169750213 250593797 840238567 100911480 567821861 288848215 726875442 649641740 706942283 792636222 311408235 561440190 485091428 763687113 156663205 111938844 273619199 307954648 766008471 153443767 481749245 927601022 811682206 945995803 793597601 947010449 148541767 350735995 967244716 656990724 362266696 289946567 830456584 800068968 572519188 743909329 736918482 670081665 732697783 897150611 792491579 649288717 147852152 412566101 691537724 594312261 811360683 321110758 563076890 855440844 817018648 232583478 248375714 269994341 277301514 434804802 857479800 374809197 683402943 642482767 123081549 146961254 549313144 951253037 734729479 286327169 615620402 713695509 139350413 681180740 825872023 730759122 711504731 874657186 354574839 864166113 524882714 343956266 997042434 802665658 871764254 359982323 585449294 162217547 950470902 503144880 670934647 617761861 565402522 741672286 861842227 396695473 454401629 800437582 391095226 252339948 245641525 103731395 768211001 230747834 884297411 453906593 414813118 285652427 827272968 421272785 361293089 950134852 535393776 619903524 687831331 228805561 468265437 786356918 853980500 168570378 822758215 667805980 481463327 825029128 171822344 341861624 428660439 305364179 652174475 348060344 503975185 172049213 671924579 641450765 545453936 817103079 806519318 285962230 347970771 765270266 679761725 657126221 744808541 317890765 676499578 407512091 720520558 572957708 733828040 159696615 125423841 965200922 915247325 777613921 152274057 760356801 267097087 772214592 637576986 820028524 669225132 594451447 495111302 500250321 190380867 365352652 686023714 345519200 971750337 241698000 317348681 481087157 568855830 373668722 500439360 893804257 786216004 177972826 898966109 435956597 892574206 532321736 677147231 601550889 560657687 888883667 638070684 905198199 979072695 878939505 518844123 738374118 104050516 983822899 839421395 563630861 434742089 175709382 355767996 224889279 610485706 198435407 893951834 974216010 410315345 770226892 824395965 629949417 817849003 528041177 356691111 801039916 441182505 760210780 389662882 487530027 445225288 633049831 574083479 206776025 203960324 866956833 888522460 931592410 151039085 422721846 734512138 774346914 747074239 359997182 908981728 416452973 959430653 527768002 705415976 581078096 936119732 554216453 902212191 292040672 573748455 447462587 327573891 668616102 753109766 247326081 935078562 827692438 671819690 549232609 493346278 234525376 775349296 645968445 187378877 855691748 630030451 966595976 759889402 857392966 370943187 896346143 954462089 842095801 846063052 422857423 659810096 298122336 803128457 833344323 468335157 995293382 521738613 611032231 785244978 819424327 241600549 196471229 854532745 812172273 952882458 157012475 687042695 132482152 850094577 548661679 969205472 902640373 160972357 384801068 901242442 317803750 240426154 652082434 767558605 599734880 915710483 583663929 985237793 247844672 244201141 931646721 964664958 296666954 373340625 966976969 554386235 771711084 932133342 875748403 367602427 539968925 985189020 731635468 962394336 116436630 979330579 512833271 170362607 652665383 670971781 331242548 180561042 978915294 959282223 733298384 864015324 492574766 593703864 423285881 767257982 677633247 539251524 649216799 681915047 133003639 457663116 171277606 562194144 654904482 263413509 757349520 657525506 892030074 187677206 766273578 800351986 178649809 681538708 522101950 905885099 378100504 797668260 958607058 273108805 604200326 421784086 617520580 899200993 639909374 943376999 706271882 979147086 101727303 792733707 670455525 658862492 149326331 215072235 493804007 559394939 421047567 520660885 376325843 308050323 178597349 342559533 947678924 741401883 222990461 379812106 165147008 561057451 997685899 759432014 631643362 769261079 195993888 744970166 205558139 515961965 754327223 724390051 372059232 640276296 442701717 501564772 493154164 560139880 831218418 504033004 646878400 603805508 264592712 957182448 251526489 534024488 823934195 279271854 482766290 265665933 938252670 593950963 997754297 302268764 554803501 189005584 545700399 868270918 324739139 818569542 871646623 438847099 568060375 795718703 760842967 104111241 387420951 321819374 849188266 387551839 456705736 410326387 416646100 457764378 681130175 205528227 205963088 811310355 138807637 358923793 150206821 254370164 659658978 623847362 509365692 512402461 211312267 598220355 140357578 445489127 935400693 814745552 134700906 982048402 117600070 682042196 966107500 977430651 521113198 724586091 501403045 164002720 765067940 973195749 629899637 560047801 376291341 556047799 299814569 491449986 701009165 538143994 944109540 845507634 726254080 810181786 647617934 357499873 496313489 832217920 292350406 141546406 127486401 691900623 624283456 945904112 356427441 674454293 127921724 925424996 415898274 998339870 411602596 623479723 618059641 262089471 949117442 174453557 313685631 794412281 957725885 485083703 377437353 557460195 493794770 196786778 757578150 467408814 122399257 269822031 243800521 752019245 525370627 519812747 249117093 638922595 250754127 501632028 404749587 761971761 115317511 293570180 915260905 455197519 182801709 954746341 550492297 216702993 936910295 371433056 716393354 749148862 597184350 611871438 595279561 167438346 460978718 500306423 782721015 795229606 639350572 686972026 572822906 996056937 449910242 903673100 380878497 523180862 822391260 886253205 396733016 768676854 649476283 528650032 873731429 729737355 585329399 395155640 779127425 660152940 290595452 890193873 767230546 544709813 234108146 949031722 578089611 184965070 978951499 244301567 867394635 745326660 510157360 862498027 289081416 879843381 847826057 660352871 654328292 791756512 722852372 140030045 438026943 775886612 508893372 318482637 989407982 129168656 569987537 313502309 306340078 865806718 845048029 231222991 214548310 863656247 263927428 233590976 172778178 484884048 742728155 995244461 567424578 187846695 436727351 938764700 339102909 534196202 402467674 927302451 413339517 482585491 602405479 213833098 668444259 366705728 640597825 854729029 308380808 794445172 772920477 974742747 561209173 831674885 577006809 457547950 668568003 566875856 474960054 129151981 651941410 148868094 968052747 777819868 946483322 646736601 603729262 140834085 284770470 615043878 957729102 298400394 446602679 539683798 636362024 987551389 255162684 197419881 823852529 140521901 677035878 434987059 951182713 733738254 352028153 308082133 212232108 156991769 632416178 291721863 356180761 219979106 376529157 844711929 649729101 619042660 143576787 891838747 215475243 402840082 499661293 219142677 105537392 613108133 329941390 634705473 584111089 213137062 971706422 334638203 367378952 527285044 519314801 356843615 527143941 277466610 693400250 722835646 266565076 512035284 487945468 549821735 385837620 804132871 526889961 562384318 955127625 575528316 265165204 748614501 647749062 371208504 450987213 636898463 769242070 319787807 292940376 285299136 597574638 498889820 453540661 150747085 454128999 873514860 950658136 955529529 129915156 777677868 683186465 644573929 438014854 157865090 419458623 889161446 944603317 429440877 686673180 244473662 930986412 733796031 590256291 411572937 235464522 313932590 940123907 338613613 258629321 209425124 493835045 311966998 874859621 481971590 565785260 208347883 145820651 662195195 664981323 967871257 343583861 929275772 770311388 754055266 685047698 353338947 473540127 837914803 806192457 957916012 346432235 141267904 980994208 471665110 986586592 621043580 393471674 975367332 850802355 623101839 748628117 494494208 286865729 465661091 589947119 666194018 261940600 975492154 298239802 346858420 321076764 667121469 251394675 925382586 398760409 858282542 397717573 686328950 961823675 342289384 423725292 361016812 361537479 133789719 972618943 832568813 234642938 750239008 528275708 415728666 200152358 909694046 987406010 138373977 204577654 781188963 264995384 679362954 700448453 322086132 442191744 950349326 612113946 609800146 668060698 696546240 710265100 570654549 428660047 444337528 318168760 699365228 600940417 297683902 241784372 909456159 796461227 114491970 946598307 373918407 805340101 317838915 909303029 438005964 365835557 933863603 787945358 476138181 510920123 199897464 807247984 370803828 882879153 922852976 242801824 200962172 831239348 867952511 853797699 696097116 556435661 526774691 891290682 322858831 964286098 859201210 303170582 336266644 120754943 307055022 421355248 842630245 217789328 600636703 147115392 320508070 537933736 419778947 719448644 869357839 153854779 698250462 693916016 888486228 145974016 357058777 479484352 378645083 561761783 718413601 137103677 745717146 752677996 234601794 235686192 234973935 953438078 147958631 340028349 629123432 481742715 935883486 460350400 119600174 835859363 857321206 663176251 534783330 964339090 218757455 991978771 883812702 130087034 358046118 465589466 458709741 726973306 401520706 283488382 878687760 217502095 679842842 561010370 997396938 164365330 739171138 676345438 410732644 670605045 729723648 527954395 194649084 826908533 232265928 730761979 577060768 460529693 504163094 692372175 625420629 492140075 849647623 411646096 868894863 873360488 259862508 111564381 287557308 458227460 114979970 387208461 522730987 716000087 995040719 171308939 736160158 475487095 243951670 487710839 353203553 570597548 968589510 550199021 120669615 313517273 738741668 493657895 553719150 485317435 612790346 928593923 135431122 589389860 980761403 408948784 542813334 902023938 849564760 282573239 909137611 429624332 677823881 820842635 405921504 129041027 738502962 695817526 296115224 556464258 249161605 895896179 463445302 984144193 537782622 305700782 736202157 110383099 605923138 539007848 659572757 983658412 472195957 477359338 943720030 218699404 765525860 773777550 504114037 530770362 134907627 380280904 880088199 307524156 754894543 971854591 927452421 530890866 804851716 148591149 999241881 612995847 412668403 446476998 224220736 368901448 904211585 648572865 455194828 475829257 306946451 489349501 891491284 575007733 946259354 276436157 786088163 967545272 917867270 261102771 704615056 521731520 676377165 420943710 720772561 293050135 213182991 832189699 947344782 384667301 917200532 656093714 882263897 405587851 270430072 962895209 375000594 353250078 376881221 512061608 702765346 578861068 825807733 234396312 315246578 228422078 372884425 342606476 618316155 485009729 124977412 128733746 578402438 509036863 311235036 658654476 136149350 304215054 957096655 264770710 172796670 910777888 557848057 282741304 626096454 306985267 598597708 294844883 171240361 440009719 448425436 571716527 491137994 622492172 535759002 517704228 365547578 740726541 301794371 460191947 664230895 672176297 580811989 896508870 754677711 558771000 513437698 314498862 445701482 272572180 283383301 192554861 332341094 240340341 785982212 602063798 426156489 662411560 629273487 474398684 309783106 668087950 805116301 495615443 598210168 444337791 759726445 470453782 707113638 811003716 648724750 638609896 893915315 858405278 151184854 778573290 134847210 187773663 496724154 323062570 233775374 574189066 680720654 775067559 438234103 440182993 552826857 978810510 463651147 987988610 425433143 898043213 807917766 373178687 198665227 709535359 691161414 294197694 363455018 298942517 673491238 618411158 800644391 252849620 565262214 254122663 509267281 441842852 286718660 699536696 360916907 763865889 426805277 501861137 243929772 571569704 528038733 773675493 599564539 892439747 619702596 395397813 977279355 335986538 324098674 492050611 343412119 158822399 367790154 538579115 793041374 317541362 541324082 811741157 407931924 920809948 639691200 866254271 894025469 228942569 854164434 783599417 576879733 399806327 790947741 509282260 982903849 605901943 491335279 406324658 267101050 386650516 307101051 622497137 133349746 428089120 948271823 222419828 364919222 993666084 317352542 602601856 427367899 971864903 344355660 230254377 670192090 111201594 844659073 895582790 724386411 922529004 768793944 422828749 320752361 361674769 880966426 650307568 622072867 779674305 676802509 642167868 538179484 415003763 447199773 520276079 394215250 431953098 181506994 223408154 612607805 858510499 235909920 868662772 728078745 381066943 513950287 585551909 627329201 632950986 510333327 828919737 821720213 257337588 176993227 196267902 936022902 694285838 275894677 677003917 443835128 711498018 831747863 941013721 566073070 338502974 332690069 803353646 865620299 242115406 503815505 222334169 863407031 603694672 276752854 617614645 957887969 183419804 532254260 486615882 744914558 279434655 381326557 842697767 858409197 242242492 730740264 160804060 262380413 531000688 851182519 348644404 358928722 236279578 764620534 409890451 225661581 152187650 246758819 360517469 830525826 524940294 968154234 504657189 624729488 748497637 592813493 108026065 908423879 776331694 178198510 949222751 218079848 790064487 463784774 693141779 676123230 247966129 404130247 147083003 171798059 431271856 618566207 115486425 858825400 826599922 684092770 269887442 753768982 202916802 813420366 374199809 814216241 165730497 122123255 650238343 355119545 422248834 601461497 253414990 441843986 213877109 106926365 276792595 811562754 452259593 756526414 339687287 897159022 858132705 951240139 712881896 571019582 457920571 898664120 443213717 875587743 781494184 431027298 518510453 408725856 591901944 810915102 997743927 185435611 645882283 986422855 981820315 749475732 513001280 957938378 228673018 930324159 316545895 619479842 835676505 365457075 161829007 885787048 483200425 922934019 706578587 243610500 418444184 249287257 818134920 731753129 926184431 288142925 326596972 635733245 350026195 458002284 808791274 311150222 294983494 721145236 870968854 592098180 425725733 859250198 343144692 987202655 873565565 534803896 409484209 535293342 138383573 499303148 931178821 190515622 980433963 646528258 318789325 564164732 669437569 639740980 258599797 209653918 331277778 871348236 609057902 368163028 407779579 742830419 391563317 268660996 354738780 952926774 575436613 411701022 242861101 338135660 748346975 835232507 244998890 356918578 394636935 992425603 536244595 113154662 407055522 135885275 657909489 938735159 722045631 812116967 287605592 744260868 849134434 322185218 724660845 606471827 830260800 441288388 801783772 135990501 677610592 139571284 575717867 217844251 703016516 557375870 837087251 853778840 501216237 315242828 145656391 613914597 129699210 425534989 190672281 988116266 724496411 272977136 435236297 788144608 472488499 859284665 318047755 517751696 471963903 335169223 400187703 219367085 671384386 247723676 138152088 102126968 413333592 260040504 808975523 140901878 849026974 267830376 182016282 533439971 667356925 598944773 131276026 121127254 422767358 617641089 149524278 252630314 898960497 391826576 198282997 257723731 316041167 509253242 495664123 248794187 107734336 497727217 804165379 728659525 893547546 851511941 858021447 347048441 394333315 520279167 229196197 473086116 436478729 937066557 757998887 113689715 680184654 352625327 606435324 369273572 512770311 978449408 469139358 356226914 324093392 136538866 420595045 955921951 476791965 485885760 630303759 379607305 273631621 982301526 473513600 907882138 211042070 222370534 672842693 135027644 155600641 995700616 296557493 147834226 947962946 462192653 185533385 130259986 129556279 446259509 677472592 684798516 259159896 457053851 710481871 827646616 678230105 643963538 111375380 154093161 146533126 212268995 141810517 477737187 307395761 321421152 141879840 599536398 375554076 592220805 911790081 897390833 337698137 653887327 886548927 403628817 387007353 841886020 214204153 304970675 186607037 557814291 256059147 719610898 343199331 704714404 567735175 466443098 414749538 623608508 696945059 908376764 860700543 622807279 164576076 883183834 622915384 976816916 427399915 161403250 826987720 179772554 991931157 627309192 204490650 222972464 621567099 111373203 364597909 822725089 715380098 405312159 540806344 833513610 744694464 283511540 842582808 722761137 642790725 150329880 509287844 523379341 717571075 303109106 627170670 129824954 962006010 511112026 238433414 469153531 569081333 406493889 258658850 622239582 128029595 104312119 278305142 589266999 951133598 495783388 684595409 183657194 319201977 706181058 683707549 735158478 630562387 826895625 394363680 953389439 494321738 787247576 267568737 943619273 146156810 769950008 100199430 723593952 449723751 565228942 995710066 300647809 373853334 336640305 781637460 295994504 214781356 346439270 955283603 896663233 473075347 245387116 330606553 153237357 337172361 239801586 714981746 317490972 185775001 342258365 757507785 503503549 897999879 462246036 168687203 527285781 839703420 939081420 725841770 847521765 964670225 988965436 336277405 299172628 797141556 253729715 848155136 630907977 317966580 983977855 511549179 383420526 737703502 912959289 401477740 706539207 703726761 434199125 315375881 506059997 332135664 230973505 876647349 270713317 176541158 846912247 106688871 649553300 808399416 312213845 385721744 787287881 170832009 659825882 563241698 686995237 659272923 448726962 994990954 406189373 520631058 170904125 190641039 330792845 106223605 178602622 758154365 713415739 383376063 530547639 277084386 545968407 794885937 268744307 243808586 810293410 952512232 585411086 859842998 632427098 803513587 817991991 187818508 212659524 341959189 233635392 764456370 518645964 764832083 267165669 920758829 342971156 973250228 800883199 587548813 270344466 744499664 515303501 175475301 559371232 567709524 254970851 174052252 750268759 880288549 837081032 856029831 475075643 559071179 474820027 513570895 706804766 783353227 741286192 806306764 341536613 951746500 204010096 655673417 175645783 848536317 960564005 320331055 910663861 434329547 659797933 685371471 278697628 995736708 667936489 606508011 902784350 623148261 389392725 454740027 752917412 133958149 980687353 766574822 518086039 947030536 985295791 271604612 882521954 598878857 303734178 911878189 884799353 467819153 449636212 816159470 141981674 167050748 541501009 745924464 467212533 289646014 123896104 646385329 720902922 621163263 965317120 981638250 888845990 327583180 489081901 406945281 729728546 447160622 845073620 301840279 252218594 782778143 187704281 122729835 833299207 220503860 820950559 749986812 981260005 982247719 289156518 688831012 871292957 407256610 247375973 621321068 446047111 488641543 622035307 448254038 493657297 682053097 909244390 975560204 459010836 997171913 406206961 397962331 330371704 305904143 550243956 737804788 661358364 808421777 335005464 797266380 941175266 211266095 515642522 310705887 544511338 556210432 371088771 802252225 991439835 814121135 450539791 775412997 663764921 912789020 424114111 999157063 526788769 171822167 677690694 848628722 970416807 427183716 144987504 193184109 968680666 651772572 789572369 345231265 564361704 760289730 943763204 203964246 106689506 238180006 263551350 581360829 447479249 871940957 821678621 151841922 530979173 519545550 884125720 936364364 581568123 329838323 701038769 696508186 993900484 826766724 575062546 593369207 720085331 104147185 674358267 409081818 495361546 753148188 255396337 771121127 688949542 187611207 919721449 118681205 277768225 363582850 311251422 558648609 888199487 481220852 356572881 140046010 195814980 247726455 614097763 105345807 407087770 392450691 699159317 886175813 332506360 381843903 685412825 403271592 987924949 313322923 805628721 249659445 610810192 718849349 480155438 397113517 574846224 319819474 840516625 657710379 880863636 871235531 196102460 747013961 525622577 954572811 692994593 375773898 598805536 538145380 758945659 642631797 443001317 438564841 987416339 463940321 222854891 811534019 400946645 433295288 324178103 342687188 535792336 569471402 220344474 520029716 252645746 696502167 931372104 434877729 838138153 562151350 802168089 480554173 312895724 311856169 260461246 194551600 792815100 545592932 728626645 815728629 396235991 505657320 268376449 796167114 587685259 125375178 340261884 354321843 392332582 726023804 900910765 954826208 392989075 714760349 102830367 571241968 233268689 608181639 955331113 314515986 434445095 199954093 999725306 286229700 898128403 955019930 327557697 263603911 341778348 415066170 316608579 408776701 183410242 694404625 594599486 872112281 143157001 952932400 119562369 330673542 409667313 631835969 581983416 148557816 861962014 348868186 363259215 310174008 669459721 645193833 459133328 992076713 113112364 465038813 681989573 490312048 929600573 187783564 974076004 709702906 444900901 120903367 520348056 673757702 251238627 510039634 654129608 991773241 983983302 160441554 241946068 131041811 767535566 875394280 621137102 796422527 728793603 436013236 816023050 690679450 367499526 482192970 217775732 698035689 526852483 363416023 322591999 954272835 934373242 974951076 848738040 167519992 838646998 703697573 415681291 247362652 929201965 473134293 137399489 146674948 729783260 768927255 698683070 776903624 240914620 701805398 643554357 569075362 176093977 345744669 959623542 300497298 640938094 343135022 763215720 482235219 462804548 985940283 341277392 173252617 473993412 552031675 205206853 932529734 240208476 348546461 160192576 550342339 273071407 445871468 607558793 564888744 240118473 372064714 501543449 263398931 291698488 639178843 631878992 174678283 994409615 458851374 387111705 589960296 812252776 145305054 508089670 656749958 251657358 780911537 707779374 392922027 424112597 315828771 668060409 389623357 313936557 845607500 963853940 135732476 334104791 193660311 506352826 843119261 400798393 471663513 484506425 744805722 850330011 178913392 905121991 476734783 496816244 916761366 960724803 575342705 461998585 178842597 708365675 999469192 933864102 840724428 282046698 134128168 461335914 304811146 938929474 955116051 898113245 494764086 626544450 384526499 601375088 619030592 819642014 324409657 302972315 834959098 928175037 742675986 903066941 556906711 725637859 695122011 614780493 124319297 716190266 380388592 747942074 579862173 722640475 932263684 879933959 680328067 299190088 347262914 797474156 131166171 448476304 677819242 173760799 707268112 693619187 510463077 292998953 607701045 617406453 915956128 234494881 504206765 315742026 202217599 142691557 839977520 400816383 495209008 510097763 980257601 424542666 708637633 700331732 838273562 800404624 207092139 785363156 477755234 916642619 114500272 442332405 303810340 546231852 661643300 949150615 956049879 188745240 269693963 931039115 320211184 570418194 522998651 412897968 850420356 924830588 836108138 420098898 603621914 105229162 346249479 174960866 862498184 952613160 824111992 701119588 140678640 760744025 880337913 472375117 149029354 456844034 441771328 491465177 908912836 305378704 415893829 502623422 847990131 651618030 235724665 930454720 765154044 755743070 623996147 540324667 748463513 464432473 405314065 159328516 391315762 243539598 194675671 299329755 534186255 655491602 571314201 227657349 439786715 554615824 999264864 140183879 482557914 762565194 443525802 815707960 507670462 441958824 569011512 431420317 105628784 747213159 272606140 456527926 461714802 509467660 403314669 856659439 831614098 855580264 628778661 649486441 255418043 983540566 145277003 279164213 872008222 773070679 424892057 792005727 444606590 591222011 804648957 372592685 381088666 619057286 603308181 490818051 545924396 545268924 504119685 201536522 896321286 689507672 836663030 765765349 633860086 394594478 409403077 781265328 949179638 447705748 451421272 726027875 454456725 626375307 659729546 312509941 356024310 801551458 853827809 804035173 497272287 564230628 545573646 391011905 247632699 159730790 566683332 144743573 599230350 762565477 154113234 327951220 661718889 115852342 405870878 446225671 153848828 209577626 439809166 597136097 563324263 240399580 164716379 290220384 433989000 760531662 972277380 220451689 408778116 237282754 321879038 283570818 449240058 301034720 989749200 196084042 308016035 615469090 272719449 189542504 243316717 842656858 139583863 473605849 711247160 333578293 738945013 536388900 979859217 943874367 688464194 370124921 864798471 469922819 509195580 240825737 955285968 549538773 385884395 678877199 676166880 682769405 574653199 600607858 121813422 150990064 832925978 306429251 190666924 704006750 690351317 749723421 358444178 505859632 153017842 899886577 248831745 751729923 241947571 868937298 509592397 235228475 976442284 515720201 716684456 455780721 997304848 574912164 211771238 918435759 560473909 391758269 503880335 952904991 810578476 371632123 963788733 987378897 972782242 996340693 223931843 490887936 921146899 955005915 222372360 428678091 727366424 988864778 197398845 815605257 900588823 636919863 533346953 610151123 935299639 819000493 301147845 759316219 208218778 230050501 633367795 922540139 102845202 819461384 450745428 606592548 235027554 620692539 284438985 353385113 686517158 358590541 404594812 642413174 555075205 467458786 863943463 946334469 833063524 922396371 343076796 205637602 785239134 452658819 514787006 801291956 760342462 487038431 832537898 881436533 206768208 834350473 114581402 795933036 242470035 952001342 716317981 140911023 674681506 466858840 302995327 209424440 838110838 259601144 472407533 469121958 107021941 257260976 769944492 313011178 655835828 425318853 133330442 579246798 586361638 610782753 835530664 155722874 791211652 130173378 472740418 930168992 180893814 181131279 886972338 691134410 904409693 102050865 334922302 166550459 942167859 344206626 586314176 383802944 812102860 726212013 383569355 196592156 408512573 915467862 998079808 227266375 542190830 497255412 612954034 459206556 446589103 944478070 716152358 679850341 517855495 223278205 329207267 202463801 272640001 606598600 313589227 658987072 775395493 777091169 340373166 504356139 442637260 401618695 537894164 952144809 392135958 710567003 529071895 551185138 705168859 802230962 172942220 692625593 893904457 969807016 880840859 722890435 143451830 681865409 870110478 105059804 840257296 824261753 695822218 909487343 206646146 480339540 722659010 637179108 111248555 380109295 959666026 162243665 284144822 287191733 725450405 577259198 481637273 800564944 720245267 691686572 322442650 373559296 491575147 717484364 249186956 804230633 644904419 118080920 876564412 553448541 344154311 695398201 209986427 683384510 661444775 619266329 678877973 143464193 465212419 317307956 750255537 859339657 509896094 303448215 509040923 553796585 412947626 279605676 386569016 807155854 593484480 655892955 737459989 567522568 890073178 484939548 279071881 454390266 721864253 483237369 905309157 850447005 289627995 452000141 699641978 830739098 498448097 247577880 682463766 398751193 893718926 226091932 286462508 324408902 222871044 768107261 299669245 365993473 712611748 386123432 397327954 571338247 146571646 931411011 160301919 416263791 663416631 983337097 213150128 753643517 512746835 792398282 541881282 346140569 978539636 270371271 189770240 289495586 235961790 853198955 583605810 594433054 887138282 870302618 725690043 715482060 979736228 889082383 107479383 786564494 890596911 850297545 978529636 253079364 982184146 973151040 713536329 688388002 141411307 820294692 610445969 537082062 893332213 257596600 618819193 154650766 890689619 680115480 114247883 652867671 580230106 346272228 818700255 138501689 541621732 185025618 199537653 480248795 272717688 443810311 826150949 878845017 466669118 719539652 912126101 312977390 175615648 179984739 702707101 107210150 479053028 425708287 428866081 277642234 179240089 808641542 883951033 904990126 837526960 991703941 648025165 639620512 580444339 296375468 850943444 693285404 666847209 794516804 480688319 290741622 495932908 511588964 906334286 299391962 240829822 117747064 942998799 977220696 513600968 887801253 316445684 176089455 990204864 886731306 145299602 478498650 246922117 225802207 255581352 497466020 706638259 774185810 265229542 313676262 148751623 551302224 989860806 305578771 827496520 839883341 142279364 560655889 851047793 157625593 523392462 149539220 677452550 816092129 704223652 341004909 669824312 612415926 878209825 358649203 158541401 593420530 254259836 956048561 991060245 931933026 834813978 792101793 664647487 296619779 620773114 496982552 179590396 820793387 777006367 522275680 811672480 865552366 439834750 228418923 403862023 347683468 977393264 645656897 788513471 752057483 843735699 846589435 116202906 353140665 286828348 291390652 349094288 895747498 854135751 954060331 275405856 284923126 378591323 180210789 911044128 730876257 897565089 448407456 354529010 605311238 624896247 464214199 272026701 315930039 895871562 707083957 207818693 320063750 429030915 604356305 825892077 639760854 460385807 809223042 740657768 858101721 119015875 885945026 461459019 213666031 602817500 219247394 543581698 487198099 927564279 495980180 655093697 920610152 547785496 490979873 296902214 239858733 363549566 953077591 491422213 678055746 432608277 222831128 666071258 707285743 461734086 340667275 345573985 751760506 653490672 540566817 794828847 770925721 883014878 656436147 970433664 165407279 674954231 811963423 287873151 733601225 978305797 711728634 300687860 607369863 223896461 352801013 414256410 203825285 766602010 742599835 938433135 194184992 753018441 722598886 634413441 860773531 174848769 357549616 456935433 384811892 402327172 332734071 215299114 521193571 316526576 272131571 573367225 174039061 420611461 999574055 905673935 780284160 447235463 940627278 700746432 564645877 619090193 601972510 824269783 787215068 615699375 521406158 285335240 973044801 842239623 778459089 284072421 928721753 540364174 551004494 991629386 966110413 900135348 622047021 750829474 728863966 725981106 962296712 737033631 479138258 745835693 444321570 884201228 173460910 303297651 182633866 370783846 399542447 468830241 573612341 808886992 604799271 668873658 131498117 175949241 368667546 654386028 292593396 468683544 790820229 858488962 330984710 361356058 103124212 421645986 202546708 163003121 594001051 108905725 475081228 198859985 267311146 555764779 793565286 177897937 584272116 444706027 608285458 506458181 887275086 314561663 213745292 635134534 316601143 307460788 695055112 321599153 317635617 889896978 397738721 159919114 364137282 450054995 963735882 956595876 811968627 588804371 725328049 528646310 785274087 554036377 839733804 426144177 244429836 344908552 826558825 636862809 592970876 215697850 860064440 834367439 854191303 620799308 606945621 349965994 226124388 130465986 331018109 701152683 689997195 663421247 997841469 338047259 865662934 556284880 658580830 911790387 618768627 539500433 576471390 263358064 455674381 199740579 729318692 370087386 883905766 603827665 638133276 628920320 286557219 534054458 622196151 976893796 797896209 427570001 323081523 719728345 302839059 847224771 150869183 385973289 257532885 161760941 615798225 760610983 596481999 162118206 554452076 809457336 478694079 597598971 428705494 559985632 946462478 114347559 197417534 940459222 856286780 403555796 998616370 442061535 105734122 128812126 833282874 570802783 327733393 860090437 947235993 499771597 968720524 515959624 529095131 174463301 193895524 566012563 500360933 282357553 367563798 803488972 947386785 291491676 854159495 102034869 740196169 292749596 327421887 699139285 350085610 701094459 958602347 270180873 860400989 322338354 491012336 753410665 427806569 696032853 817384969 940975127 719040898 511144905 368030583 648784610 324956283 612808992 321920252 963390785 499490014 882076500 919513614 149841762 833244786 564106369 840371904 848226470 965598175 808047262 581679020 572987072 499652631 274826486 365992834 399812931 752367071 965135881 127765036 827710750 572025050 381950946 562828261 292127068 423538726 609380500 162441959 914683679 550572437 506638345 508005369 424003081 736237567 357392889 452292037 475354503 313870124 921853841 704371996 677635344 971843344 141020873 737892352 179172772 589383755 409890855 762257285 117340975 253499347 774400064 221326354 378584253 118993455 238797082 774471287 920579592 750996896 638780763 287201183 640208810 695069348 303361190 912077439 231701266 596849218 371287261 158163201 167543390 537530887 263081088 804446221 101703854 985624010 986158108 878334534 802599315 940246827 197678661 764318296 965788409 363248775 296449933 451008375 157970593 418947477 810858326 212224094 728551082 228856895 780245598 612127188 776403632 841888684 357330036 942436710 732938070 313581387 184917015 512954324 270844922 296118403 359694411 424861456 182552076 219695429 762707471 968327050 707633865 325695196 482855086 110928731 954178749 865910577 771140672 979702388 114112208 248712396 840864146 401694721 888395687 911018618 171433611 116801970 180950116 206830088 337792641 285241981 624181025 985377072 815404319 955600359 716177399 179582134 957067494 994927706 365778207 629222076 238781866 294590633 536290606 481105655 397512949 320464209 533793776 472269321 723413326 878425878 583522146 705785628 879345903 563778927 769757018 136577057 987163425 993831699 131911106 826744272 164161367 651568797 432589314 864989587 470137387 654966241 856835209 262237726 359729989 151174500 290248683 649724870 915380296 462859655 472861458 976283064 999908114 217236452 826213200 487807118 152441359 393661250 593717835 652117652 502158436 804966381 662190918 150405963 538618290 705009607 292877528 202957180 272501521 676249172 787880642 165663295 827865215 580052350 922388157 407977881 808390257 375064535 148816643 301897824 137294654 833577515 713382498 864056887 989585268 774160226 763141277 649764880 476683430 629263467 930374540 877549412 668265281 952689335 499941477 741037469 339851833 617527875 875558099 582652189 963243811 694022966 294145217 228852741 805572785 868019311 183668933 447717552 688132456 929657127 693428739 723696845 506224628 346952766 756630792 218659931 803950303 259224944 251676293 136814739 507482922 313072540 319479397 362621010 562872693 699508700 282285609 218606391 304238156 513643584 799068112 714637883 233923626 391082384 783483156 434833025 627886362 286606231 712530870 400052339 268586307 753407877 402078870 553501010 248246834 431212773 831749749 734724026 860460998 150243555 819197328 570443466 998427195 167930026 230539561 730741140 682279767 271413502 468462219 420532760 293124937 167977991 267267868 478402309 812144768 506835792 794331067 895233079 915703562 183227231 629359609 154938952 287310048 813931108 554821800 743595065 600186787 531489982 945808305 411778863 571052041 735580879 927004593 996329988 212711855 758886916 820752764 126121330 730193554 901100137 257683047 858067303 577458838 913368006 179625732 807406313 596482789 489282355 357396050 785678234 636194038 379487289 566661004 979981713 300851331 726236836 960814628 668045356 271705931 962643725 655240761 124154493 854855695 619662789 379627834 251979738 188800686 218953181 744450722 950819824 897895874 775315260 121668480 713487947 898028540 984837861 696867129 865333528 636367117 190218625 902975978 290651437 303074359 336579450 874786593 642894786 510769535 973919273 937838586 862271079 426192005 860655012 475799318 503201972 850348622 846113590 415958158 300906455 945019732 453189995 486378557 782211259 624880582 188730450 219959418 298612087 481346892 217226237 525570986 674067023 367502796 102006875 922833013 684284204 480488595 271932367 852570732 741050873 223936353 482825652 864476621 142886992 776218300 689328230 482288810 402512550 841968125 739319880 384430536 238948797 545943458 565661827 435083518 641429356 188359563 649122070 213802150 484567021 283271290 141109037 699643102 450027022 287545625 206240115 240006741 115452071 985561387 320677860 573536304 517708169 477831874 575572332 242258874 199979440 829133007 272658165 289847513 357629797 306761694 146595693 461696857 991222329 219808776 575971769 523981626 263962830 572762857 454031780 533788159 761504770 937781726 704486984 619546137 348825065 590321342 345811449 573342712 218035570 672973417 884872395 414630492 277286659 249315525 302197436 530741289 363069165 526709789 337586388 981976773 794384476 651894393 145620473 280136368 394098325 780709888 472103409 863659000 832797057 956966459 544416761 401149386 677235377 718830644 788390340 328812337 412016548 664762947 624355074 666218177 951824369 423896259 315544370 893321630 337550271 155063379 575272357 155017523 733721060 814420765 359986505 556143954 932321650 146549679 634276276 602714255 966543317 914613496 824301128 153845318 213332133 946185804 712332209 967856813 231067626 793427469 122430731 954753430 945503948 644300071 449599281 358857854 450008049 696065121 440959038 909853713 949189642 917322916 690139577 369890746 202659792 670949614 125550526 731653810 753876949 204004936 105134972 840776058 592824129 521335089 716955415 575004578 185421477 831662341 469330273 522368703 778316444 917138029 229122221 985799062 953147457 259953539 751458388 630955237 781413651 510058663 738151478 844009517 668584000 389962761 359198444 168865448 964903750 601148199 881255717 756945983 875329245 277854439 869798181 990223975 409394446 559843591 363685722 112751665 369327536 512142194 375797919 328626127 831930837 183338930 778070781 111004146 233342818 525878913 964921182 971333332 425061350 300851647 425613154 688125419 769973541 567243638 474405518 945287381 404029386 208189023 426896108 843356142 213599224 756527987 982608489 953141437 490731201 253806120 674804146 888601712 816672990 696900894 740754678 286057922 622433158 951290925 896690421 736545904 867265527 998596831 272103830 362030193 911544932 239018938 231693547 311280580 854275997 165299960 979166990 565280682 760287276 593832760 752931128 635981979 429660837 125011144 810732659 441772295 648187910 697734039 548437289 419965027 255801065 217184055 346983520 466198537 307234773 109288845 603812941 648116553 214722428 424176240 667762011 461855236 267319156 913686964 851608855 979868665 821723571 321948428 569997628 288930916 817244146 411652425 399066339 735477562 609334935 346920771 715233493 811036548 865055092 774172524 973667800 915694928 723437300 366461919 153106802 488240014 909718259 210145366 888583786 284781002 586095233 703700007 957152514 859175446 542883467 111475198 445313636 952432167 828351574 500678145 539320014 701381143 481965202 128519140 983239208 842553227 859405483 920843156 493611815 939247338 436500990 923415094 883950095 896170403 394126000 415700179 262908449 288223767 222694636 972324420 850728521 492030362 568038974 723349166 999036841 983290261 646654542 882770102 535220084 889819310 201274707 597869606 217834054 370446473 376239970 980902794 258997286 851053585 954287308 336043437 460528933 685817659 907009679 132775118 183236742 488395047 768077533 335063080 766568504 660843501 188572965 206085769 773967091 293361438 877196040 571819636 122570585 958420340 462258850 820694040 349812937 615416158 210722721 145959085 488223022 107180159 864436689 426319811 790604088 514965927 191054916 873371892 279080644 740578544 116080731 138075991 914841716 555418912 624288426 109533649 249520750 717369014 238118595 633269366 592269564 312308266 620397360 706461163 551279266 440694881 536285109 211078536 122094977 707927198 608102560 581499025 456616260 809914548 558346378 767436720 611242992 898858881 318733923 438464831 780678302 637294453 784891338 659841037 235238833 328667249 737858671 428419689 815834615 813176720 231840988 963417603 407084864 724617006 276294499 806371878 757554342 629024715 800260145 150591793 849125807 559329251 312029071 570830941 697317201 173252900 629490210 884911607 198849349 713868838 540902440 277821077 952131511 544068864 684504499 752455742 598848864 443121307 935766862 689805521 421133271 995159136 142943287 293778237 344634171 868687534 927265953 534607606 517274194 937068671 957198790 331214679 716833438 936530595 165414929 709167787 221511551 644553449 960083688 158421197 592051872 395679837 167491019 667013256 491960711 614089467 483372536 814368393 232187369 878986257 546384592 181095630 247128352 168414011 282786285 508312004 963899959 197720899 797234757 677380855 351857045 694767484 959388433 850581018 727777428 110331177 529565908 445064305 834438412 523205192 668962233 183201636 681174922 398624303 671363436 297294247 552534895 715569192 661288562 264793541 515198493 911243878 247563860 607903724 903516073 594429796 259500171 226542719 993339660 722734861 523110221 919412022 993773079 384255481 599245394 502312008 697244118 872890422 451408276 907040614 465693524 953166647 153583023 244955454 569124879 920204497 832983577 392901674 860706339 196386974 116179423 916682823 665817616 908204810 879198999 941645602 231605135 206621951 631267072 561854330 414437407 512760232 727906561 104838610 690990710 187137759 441356204 948749876 120545204 635665473 308736887 961003329 686111296 860225117 973688058 467791162 353053244 245170934 462216156 160057700 473145083 312925715 527281192 180592816 825234793 135794293 761943552 929400444 544196327 749982649 473895150 316461125 113964711 302976856 486326196 151725042 153460945 176587385 722196831 777543227 595900539 906168434 764999473 502366426 862882180 399967297 379033582 141458158 695757318 737093073 602659876 233743540 998498202 231144562 810779301 212043437 668823508 918497776 141969307 332263993 144281116 983420319 291461790 914890645 605892508 804625974 595977024 683501856 784728046 467000261 566726443 111610509 461468384 902205296 226987834 470833006 963991604 370601240 900364072 523166218 289867495 693328877 134420368 634010161 382194286 652662356 840721507 974298390 820397800 645924840 142534451 696428075 247921770 734158069 926903883 105565982 565422366 815424384 415037655 162503281 143162601 606818564 865221280 334703393 882173535 795305578 437228779 795220928 445534451 578779593 851152380 955858046 757166004 534217808 380444214 583382261 641799490 136409639 107412548 880341455 570551420 626443913 682852822 790331217 548693215 632270337 139710240 951272517 593537883 765531507 610589338 627542221 977402361 182442329 851086642 187474663 200732626 786179481 620407339 834233844 465493178 313262968 881820229 817800323 665102134 885591629 987160192 747998787 641729165 851078205 650293887 884273806 314975428 287887764 980438046 966498475 448250893 962703627 267287866 319849067 610325338 231516343 889723957 430202335 531399776 830080667 506407119 913898664 584148531 684202218 525358556 976718688 288428609 354934492 796549063 682642457 678062083 586995155 604447200 341820146 192926044 420357253 565562381 815979397 655321540 140150560 503999194 576560371 136319640 535491014 611993551 109157351 437000893 198902569 151329281 312369920 288026889 885783447 479294016 122836469 678188985 633270314 485862597 463408942 717110696 207823814 535418589 317433349 235479251 303190759 389537692 548840449 129151279 949869999 113913914 628707796 487120580 947177011 745239264 802070744 771660687 258729443 612116663 538598869 950072638 281617097 239705473 444382731 356270242 884472577 588609852 474091256 723712162 547471450 331237731 205034766 749160419 474995773 655162952 812932795 332197270 793696842 595947941 640015162 378367724 346797395 759882857 309302263 157629642 473258738 924078777 385072701 200797679 896351130 447184852 372881800 352476658 960097855 532781860 124316707 179157900 729378297 463447473 908851997 595221448 186164795 419594210 952913454 953248694 526804210 655500584 235408648 565181485 424641730 911031054 719156990 814970494 140202638 504022997 751395021 851472349 224477775 761180487 701932655 522306165 573297959 240345651 291406205 920428176 529037245 489121343 642124064 638053345 735261764 254089822 931541858 492376878 240049991 963175979 379452916 981546960 479911983 999425810 310506151 166586755 876285637 552694457 749579554 255607561 189064946 451340184 146607564 774375787 210827293 385927501 284567093 321086634 586374498 852781036 989245060 368322346 592096905 657470560 166853750 908631393 103233454 500482744 454633783 791746671 445406084 317423240 819648953 506390646 991057733 293041771 486635048 170250376 728508449 528286303 640604341 750568922 463068630 224445504 860500449 544292374 627988822 276374052 243123804 305866439 541242661 324870792 532534396 126607382 584415560 964474860 551123274 569002237 836910849 962222520 344344711 717362107 836788288 476467310 976026046 952511199 968272990 360485589 481985927 421497691 987736291 733214320 341353097 343552500 431232272 751392516 211330494 308087557 739611254 624584263 173313079 392320028 857793118 884180682 327257235 536155366 566220716 486621817 559426547 239863005 701689818 483198523 903534134 694846755 888054470 798247878 175681647 305781486 149201418 679569973 923202689 779689696 790281958 240477354 318669272 517310043 867135100 654016281 787886268 645005293 332345123 919222271 301874789 563079378 828096522 200942837 391355879 129965525 756128170 210791813 116420194 965457412 835842160 450574455 165868658 624249530 347586111 439920122 984466670 426043225 569577083 712517076 806671289 125650971 574538423 250813872 288140216 396052382 433239700 370273335 557715300 269083342 977541887 656634265 112560535 634930380 639250730 394519399 394799476 225256855 632540923 213235110 315028507 633945877 261416130 391628094 259970151 877190114 516921435 981392583 506669123 932268230 599380656 355595159 967039058 821677429 560358287 701261271 539313852 566658018 350540025 306902860 289543386 115142940 949157882 884280011 242376697 448293294 443298806 358237766 569679800 777253327 214243919 994509998 973315260 563048484 739048965 340896595 884374676 801889113 903829006 153046544 929839749 726177494 191913086 639207309 198214337 833236639 598738762 707140317 941485277 173767480 175096880 702477217 325169779 370674113 519103177 632771443 952511565 706501068 613027007 617428504 606885797 649144833 250911819 916197345 322008947 309523967 981621919 522267513 633974496 450958626 299738302 897634219 458601554 602638039 705579914 464708163 651732659 659505557 270605727 113630648 880602861 938614227 492023750 519221723 421191596 458693994 214680966 243380336 197835446 783132440 808052637 987588202 627417588 448496074 996392839 752937723 625696746 653709593 251712153 952178785 407927790 779398843 856496962 826614987 858649723 217850142 864232913 499110513 615493857 227629120 315542151 577290647 447955877 601414233 602636089 480075917 281740407 172763494 997735226 572535680 211024573 123683611 370856273 722701360 396913665 992524194 523177501 631800985 278935264 611655173 368635672 410818613 226484125 811170376 319188582 782502474 195244452 290781836 704566845 972743440 574144762 461141960 604206048 659518628 301894745 772393999 472971217 879917935 279349576 302108137 563454846 898474271 452279774 938529453 775493302 649819094 372150748 609206649 566688791 678564446 984006863 560750347 210959344 532981839 184537952 464732094 142846859 528528399 335746639 755154942 337187332 659210181 836663516 164610470 857020912 856919899 616229555 335775194 131451917 428384716 972143833 865432172 308352806 505158363 253116646 484114948 499565662 267680678 370204541 516553900 440477136 721027775 224145051 258892148 897554578 841663182 210017797 304066432 497732165 898169708 572186868 663534591 864914427 809477787 221933231 521524538 195637111 100105436 416337873 531070982 673215026 946823985 504925175 769367006 579469449 361008210 166909956 871363924 100474611 250746598 963796779 379149142 252969330 338323032 490514829 279351981 826962319 151257217 363083538 361562199 210859822 303840196 725380483 356791072 901687455 727251176 354927497 316446767 833327439 649278874 932623412 443075603 822474002 578917347 664345921 640805423 127558302 147387846 304519754 568203884 759851247 395115322 463275918 977283516 857265738 434482203 569433142 444691915 233211121 364021303 604653069 801383500 954599171 558876416 447715146 158850171 596250695 137466018 924365984 619806935 741574054 598040450 209880900 504117256 353569664 459714214 579268377 304655127 306311673 667982780 228228794 948308474 842333456 870128922 599521084 135677262 867762294 688473470 555354164 203517346 632969374 500340454 932031098 553243684 981267775 847070688 374937968 955871032 433582411 764417318 882031289 871646277 309442059 214672647 523524942 241031498 519583704 963861544 677839250 840233435 708170147 539679128 327702377 369561830 887391157 593859356 559425821 218127893 673571054 571161763 772592483 150021397 966237812 197944785 211757960 141648372 417866259 242755657 163068962 941395638 344684966 932072560 277916030 412155210 947019427 169250946 509911442 135528440 237711564 540888701 117696167 488490835 789814789 346509458 359669039 237549778 422260491 476550036 303681600 400799482 402060584 228717260 241811440 425928561 605096800 379781037 255572141 460756802 860383420 373725205 817679660 494324121 702155420 341751395 321556216 510784061 809489548 738874783 464713826 306843999 466723138 455372634 818227944 614164628 251414293 473969567 110262169 275483289 768140959 113855258 937939429 340981052 415975837 956936587 447866425 783099910 688263079 778742959 447777493 954024000 822088986 608745063 750211159 600856927 263724697 615078157 713348182 176201062 163341347 506061947 786441236 724435023 408259502 139975888 520627954 880151210 265248536 146242175 126636134 334186604 783774747 178053320 396090624 687883033 304098303 244694418 258997986 855208422 725530569 946729717 293764018 535182229 190132593 597266409 461132640 342508101 595746259 472487258 136804448 314496259 612442691 606618889 668202639 658056620 281915933 971666466 535701420 924308937 327414494 981093437 768416751 246573179 330933310 300017980 200914115 868871448 854726868 190150369 425320263 762983556 187337503 109921934 860893819 741893894 887454778 177039885 995433694 654102142 329455705 751738397 700384968 677122993 548326643 630035979 342427595 145090840 928916324 920172019 539120312 382677607 139952858 947676360 397431720 274010456 698592098 453398016 724948191 322396059 567294527 896528532 202221090 131253008 912383224 637129543 675447617 782722259 220899914 559572462 485171758 731191890 466329459 293732863 325922832 289254950 424313764 658395455 656706509 447657562 769720384 261706871 482853976 670587798 522597061 152349802 631161955 170888655 776204355 430452908 746454493 979119793 580859639 732892507 457812776 350372807 413019663 175762701 167063507 726462203 370192118 428878595 745575523 168650780 808731943 507625168 332618546 750432418 667814904 944634997 586314289 682336532 968539463 410426721 777227277 196541154 850331746 397684450 238607790 361630696 338717247 273527624 735103904 325115187 432264200 485733639 437419595 743668221 567797447 521282722 230005623 748285210 390304917 542761455 321898838 840549506 239661816 183704250 718154839 298974018 767273424 156560446 693849416 682238900 285184800 599204892 184875407 382855176 169071433 773763415 215871993 314123847 490375649 455472122 780022487 423704385 285728164 867041269 630318017 468776115 617518199 375681507 850127084 948540152 464858781 337422511 309584596 311306527 762361513 603871546 507013080 454885487 270096096 516327607 654101205 826801318 251926960 970376478 382321799 729942647 122704682 564383945 434730744 781151283 585792950 518526528 729734098 547212143 668975528 908530325 196240714 855239015 701218283 290566369 316914636 500899122 212320954 792688081 130489172 534869851 376133832 142932254 500566113 253626263 408753938 472373025 641983769 126365992 246300649 494121237 365899715 566426435 624581444 231800794 359304041 912882847 517946152 403964658 659364928 341489801 366397127 532104931 704952396 913634686 988652628 465551740 343140702 875742037 143609966 912558435 125227730 116643521 734602405 997624846 844422446 839794243 819669662 637316400 980710095 883274107 120292074 846387802 821494206 192462371 305513783 154748202 241545081 289443752 198159285 769645803 331542677 696028611 567897165 708408145 947306293 280857929 484081367 249879764 262536128 668897867 514515052 919527525 432053693 781746908 436277023 408868889 142841221 343154891 985142872 992842134 742446446 563725427 902613791 723446425 317266943 287214693 457345174 306947994 742494480 207039239 888666652 439439683 957742666 171253884 736166232 546313332 564727138 256037723 295606647 180347444 136999133 165839294 685202033 941367369 376925856 810852437 931938628 926849250 857098396 208380686 932932408 161727635 386071620 914680411 827066330 282206542 694731568 151829518 595323110 531939912 515426038 861676089 539956884 179690843 909586151 631829974 233396150 480567093 321485883 174113914 193215988 706987704 441547611 708307931 850501046 227479964 947704549 155041308 287009234 238646022 813666438 533850417 762634522 483254851 538426753 514763256 661600612 329157080 195604419 410298192 719421552 542169443 265882736 361276549 872183377 799419585 780213869 585599232 250569512 905749292 953964113 100666962 335856578 936755487 536227063 305427364 888620771 468255609 340781102 158444464 733881906 706253827 837083228 880055230 509210532 873271793 882473722 922185989 541739714 125804466 186529451 695823784 993812519 502304180 757231531 591547208 731912948 502725878 794004965 889345760 283398550 922928074 231283952 664407232 348883234 493711541 938242966 205011694 275512315 615731294 740378777 537420448 353218949 596489933 853924787 409223655 684912023 444871012 654845632 483012156 723602264 740859444 532525389 305187490 982675588 309770203 458732567 960666855 679672047 401433401 198972511 461368268 584500023 930980545 917392419 529873062 548001340 571294035 812896465 890306680 685911373 918773381 639569796 545835723 801944071 971718327 454667861 965011305 705955519 276238360 146725662 503518222 324357774 116416986 515475378 409552449 130296226 865625338 931689375 316308160 865346351 815165516 559006628 103544507 807935275 670870108 479363386 327265026 141152129 168818701 181771440 783495378 648789508 832944343 664144420 176751059 758862723 518654772 208553793 377999999 184846824 354216809 693332990 139052662 543052928 207045839 286617585 361158077 109417887 132210185 522884519 529107315 259918280 166136659 525789762 548030025 329564853 141027616 551383297 394122023 393543011 522793891 615948387 705586317 402653042 937832802 477327292 206745285 660341990 338265147 352992340 545459523 832995233 537095067 132539110 223758008 520471516 874263330 961073860 716844325 215612742 896710485 663926566 507308026 872330828 126900383 231389211 296322082 911791465 892781522 922949731 864444981 398510873 157415775 827191990 533422197 599464688 418203918 786270196 565027739 166133831 920690613 614184479 666594116 942246207 319504800 886943367 277282578 447140790 669339892 141147653 922336990 599709924 814813080 300264093 374472205 588159142 529512639 427598467 654368464 571586652 593034257 798550630 773143129 161580181 268588172 546416287 670836035 419985550 672089729 150975386 755729833 464886144 582441177 632580915 399895200 703319946 434744677 929899673 276765048 862350003 746901136 924947237 181138406 401424352 514602006 332894664 233347995 965617286 888842507 270043717 536751837 433167476 763506863 961048735 354120057 687150642 943395774 598948388 204834142 286659103 594217737 840012367 363770981 507292580 557244715 867680530 362333186 724573887 806480830 433466139 561168498 885042109 422020452 837371354 656565916 552215473 275094028 563203202 140825939 938551966 559407543 855945787 272705376 816226100 806562400 684541902 823763431 730457685 972042029 368299780 819014794 874269884 424811808 363501697 871768064 122117921 218868642 748624998 799053807 733441777 677436997 291792444 742423582 316285625 866444755 235977919 755014444 583779966 515385992 712539279 314446353 141819820 322629822 654346751 123117054 824661147 106467083 436806644 138320482 194674947 707656099 845862236 260642344 170876367 842736772 973023081 935256205 352479242 513056325 910772876 338854936 220709121 939761587 488474066 918724928 876778436 701364942 719560646 830372655 899511676 405764300 439236920 721727399 531479616 856491219 840041728 373725335 129325684 963000931 451071066 386350077 213896738 392503145 364410805 248207461 125699471 811544812 865505989 436828051 600111314 927643986 473458618 557647661 786143573 258335721 198983086 265094583 264751501 409466001 721574644 304415849 162414594 688251082 245371957 815388803 759294070 815002225 952422346 101347481 873857566 571762335 463060615 650682028 756098947 920545802 283854413 657905850 849214033 123019207 557148481 735365283 638440450 590371221 581948775 912976537 900246185 173599066 516935032 902487103 247352560 928523194 752838938 479386178 655771141 662522681 242207562 353979247 232457471 713781083 850365102 774862476 991553302 213587395 154376631 398214131 248284543 157518679 173586038 500176504 407157414 651384781 198198968 146167155 745581933 555298587 644966763 424158173 905690486 525207274 667787656 625582796 885177614 711124217 152699549 572003767 881469959 538231476 838722127 964264489 188546405 475396707 377310094 790417354 700684093 790663187 318213831 622466876 472510418 158023920 127703329 161989114 607801054 889064418 571312344 346367534 984463092 182388643 704090810 941725682 833707304 529721707 209495340 931559100 747338269 887243419 775169661 233734663 933870964 489902389 409432477 854543844 439700355 570756505 616498779 876240270 296932395 331870935 906291663 496150679 729814650 519354759 736090808 912475517 423500292 828053906 731844694 307014544 429263491 171595602 799995073 406987534 570644272 303064318 117536150 284736798 923173290 568155270 921818594 128993271 955116959 464309730 444516816 861114456 708036987 685405861 997140099 404262680 994550714 168057891 244970932 517650229 402117452 559531961 442656672 202954571 617501359 234038765 118652525 774427125 254400872 248681637 959700223 557526695 523951509 575437189 780937796 298432996 243551208 663265301 445010947 461268734 398107535 137329927 672692961 837527306 592718103 668226857 212041596 267014351 350097484 481472328 992555357 956181328 858787795 800497917 730033224 618306883 929059685 521156990 103726664 291859859 379245441 206617434 182119679 572387586 915905526 450208929 186102127 667033410 948767394 646416941 811440724 438884270 656297747 633285148 271007557 826663917 869687076 595082729 306399225 953567688 350514264 718741551 866720791 434329926 617341794 288792431 465747406 837841078 956432406 831974313 643979384 986241642 100875664 346830353 505628247 461750859 192611079 195948861 939995493 778113647 903234566 266963505 483238783 544938028 719261611 997343047 946626923 399216380 825407201 770598194 416285528 364039380 260922092 142585086 523150171 708886814 746556014 709015132 516014418 444029171 664505195 303661423 491442357 427447152 624043832 491988119 458307331 486507929 806833948 126269983 307054832 399145059 364582420 318730059 268687032 842597867 179605441 446259199 259069357 268780249 959730474 360405096 824488680 254512765 379326452 430420799 105371770 210747303 153953419 157206025 562438228 710914072 351860914 458106713 539195357 717790039 811030825 821388553 821207101 666864021 163478924 550775754 987433064 764003590 266151044 316582683 490982268 215949021 589357070 557776336 661662262 591974257 810673600 555692923 970383808 467463321 322818564 392428510 204465864 413302820 813254494 328695473 353788672 465549716 487876465 719623145 982717016 491528629 758485455 907327410 974007887 340793961 334575072 137804081 508915571 348507142 551210977 867768014 903272516 298972521 544747492 297782618 982310223 853264895 402653205 931443717 878230805 655724459 231881209 177467017 779809804 465029685 151513792 102375887 668068404 138801934 123229089 603858427 506147254 184255709 422088249 783538373 726462075 869469253 547016238 754582457 525745309 762683368 385303475 791875531 826398896 277611097 384862609 993410195 966055193 559327190 787185696 145906777 275908508 259033136 108917955 615198190 297074448 138476099 851756921 582431604 293760003 880668476 806790322 714267989 596719649 681251428 936406983 464085084 552787527 497238393 495966911 123359845 589205912 975531055 732723097 105319003 116259899 578037031 929129650 925690743 806720047 938939977 806946830 884417062 734103657 166777411 918252505 616145552 275712181 903938329 271139058 788369524 407717299 250615312 913608102 859220560 873286380 784118555 173686354 232281370 203804366 733092962 760520806 613468297 307665019 318179058 856038035 745982084 812821228 504019080 308166010 224741088 800260416 444335606 734193387 608892194 887799588 457312242 284046850 708059437 167663902 520710205 473051962 402984250 655309405 963918645 240844168 324133317 462767118 882020734 749331622 608906788 517644752 283483543 909795812 420761644 518359942 496581426 299184797 681760225 991179389 684856605 962107073 208583479 538801598 206150243 352298548 128815256 994393465 570046231 782890235 596816970 658726932 804900872 759178057 567870329 362814765 670356395 751303189 492407625 168586243 747410935 871835429 950366539 412485067 509348505 172749817 620895350 267544397 729600512 560245605 956063352 188439844 571659096 582623531 971297643 761712200 908784303 444473219 897228746 899376295 953243444 342443538 718611581 223201538 621886855 215592494 164238665 921395350 340462478 342205759 240449529 604482380 511099850 238922248 790917748 621316168 479886483 798255051 411535387 151728514 703166326 434209349 213833581 835475503 989586774 150130471 530005114 938749903 363582225 458678758 145662667 921991380 292672514 407761623 945143787 349319313 101048196 471183350 147210537 518895297 673311490 263105095 599316056 203279343 840984864 478136027 903699063 640484257 371847678 432224800 604043029 589240055 867649091 313290208 854458289 862848305 549954477 971875057 534399318 176943793 946209437 444818656 744450645 648455558 123453267 536384918 749706275 531873174 906465673 227452995 902296187 148252417 148270240 461497342 760150528 728563988 907779266 994236937 949890992 805548534 916272781 332321319 912180664 952923530 645521657 695185883 368956317 798818652 812986577 211358376 176777429 222391069 737258181 387077328 867926326 593557181 683841928 798787653 665079460 607683730 216777372 564610359 314845741 447782865 878525717 425452919 980873334 887763630 242407827 108586452 424198491 389046081 809850536 640498729 904637975 313084554 678332906 598144939 131672802 138835478 853002461 943898946 559407421 908980427 494127217 282952851 384586340 479505465 558853397 285535718 480261708 313027753 188565008 378782689 538217239 220860618 110885518 748254592 443468853 537588630 375047943 104166427 566880983 944950714 910880692 507327450 325558037 464707365 773905609 299393861 843323826 233130852 471570599 519005325 824762818 395390292 833890168 336858614 719532191 406490816 689478312 357236253 759583122 534928903 234209648 524063012 602009318 226978126 643251122 318324052 578152039 219995167 513005444 135970476 129338336 927771249 341669213 671570663 116795180 613836822 625014933 119658741 435411676 551903584 725087384 671371472 672391109 251141517 964087818 180620285 989999649 964484949 648502422 920773024 773184828 713952636 633748382 715695487 547233846 375436522 676746262 841597469 333475277 404857633 292198841 673268530 830709043 829599966 896934324 447278931 902763229 847812112 951204190 924362522 212543274 628722508 175914668 552604215 389974229 311725596 219054906 421334190 934527908 474708026 891187883 408349197 675422203 991666782 823998026 645756765 517871097 616056876 649114043 857441328 589603824 537099886 187232241 339091407 704527913 224446487 160196789 287442808 608109553 485594064 441801161 810048044 220413913 938530026 767253840 517781297 902394072 211575753 947319401 892132588 816990679 283199307 239578651 299743329 593081635 907578014 285974477 672723122 668600643 856454549 447686722 364481313 267204438 158133747 592626949 413713597 800591197 825067660 176408610 373465142 721983580 888709414 749684956 600193182 877988203 532881330 449846046 231665907 662836070 535365009 351858934 478287198 956967900 107344426 613078385 287079742 765800278 815947288 495234656 352698827 639257546 646991510 826858967 924928199 488769711 548683784 901971897 749700523 424680220 312929548 821147570 725310625 311027537 948009641 468904551 211054162 634315332 534248635 471218164 237788912 484800367 586555631 701039605 911788961 439258430 382949095 694526358 807975651 433933408 886279118 749629584 571622637 483043499 557716965 850527653 590756124 759965473 785105358 649619814 742916880 982312183 369048052 918612358 315737368 146891477 781418464 382602885 577372179 569688031 844096004 461672462 353395411 152986830 426353592 894108015 236233328 558524167 596771336 721993583 159059235 164602286 789868701 465766422 240818307 786825773 431920855 236729523 922023555 931027184 514406514 567705970 580048341 533113036 696639993 150253069 728594844 536600339 141647234 409613426 888325234 840391569 163971136 689406675 246314193 676639606 993410833 949344209 154481628 540070712 444863151 189361468 525663453 518604956 456099884 547848960 295873483 578768626 269309759 187637880 379302489 566417900 104330767 299926280 550697292 900541878 824422504 533707219 685775903 791954659 551925919 624942524 246983806 895409733 181071683 596902810 414357278 935256841 729582948 414399201 144322338 766262009 325190490 671490161 417475797 861016579 187708644 359325501 804211857 454391202 889975205 563670264 300912030 167066068 831198921 853173942 493801471 421580513 823405688 403512174 652433110 459548230 490833134 890442137 976792689 553747762 122664636 992101911 952572845 406799119 517484096 494781646 566597012 213601697 472291272 424348308 417160383 606766839 301910868 924680119 772458079 161413076 663689679 848786166 324817609 353641715 494313999 868678188 688773142 727364676 264171392 772942192 489920029 181206467 175322357 831477692 411250331 703662515 783538327 230912967 520201668 867279082 680632253 643338291 610331572 455087276 859234538 601318549 493975513 322277927 677486095 233654484 624639398 300199714 954946661 122593856 920919572 763181803 224382793 849203612 197988093 799108850 486647977 837229374 735771961 709255337 318387571 688180546 139970739 619144010 571082630 365748326 597415743 111559469 138103092 296805216 163255589 541105932 290814247 640507336 854673955 962179087 428856077 838732643 404445793 507782296 235955945 322993072 876476269 273453817 118777865 978237816 622346448 594480757 241187901 674182474 981505996 536414070 864893737 111044125 889777306 238189032 927358862 105147246 119423443 985516682 674406930 422272101 119326934 117712556 493442159 250028450 397831071 124824493 607425247 569877152 930169435 824276774 130857954 998877243 168726364 836810935 344200151 199141839 429012937 606979506 722287804 436893543 242464267 400549784 809230675 780078768 183584639 568491017 441606039 841831075 859097922 152582088 877465087 174313190 995371161 315213302 724265484 866695966 779116986 381220578 584145301 799816757 406680835 575701136 541538993 708830864 587541737 702177928 504514896 350261663 909632739 817501047 789463190 566799835 216308909 118023510 367575057 801134102 181580129 538549272 364523555 336664625 570421449 448414104 991487350 496461959 956081963 798640714 409906948 874957330 261318243 858461964 815654143 213416090 634248201 496579984 102736703 131569206 401016232 634633928 844140495 921946950 777902926 164230635 493280788 247231849 783410954 103293037 863069850 755699031 909837460 107189006 713466541 887045076 705239716 443133032 837849358 620227760 982611665 661020585 606735260 983438973 993981865 799680765 207812697 402854822 358120234 836822276 713237431 634788833 582048204 319922524 144977614 752127106 414214707 801142356 409751967 272283929 159963175 686235590 923599240 448376924 507356611 978715357 957635351 395415827 244263065 725463149 644707875 964192812 509116997 282333115 511687113 977628448 372299865 632733804 677160544 783494303 276519756 349823176 237101781 375569325 221601328 859974046 779022053 212800052 514754524 577607593 972977190 869340321 968898981 950401614 803022769 119078956 756578731 918569196 900762406 843414341 564219942 318847449 274113445 717204484 818513982 447217080 462073091 577769106 281174951 242971843 600180330 886302193 114286985 447390691 847305086 582742537 440915253 988306805 446381257 269553592 891954976 977866800 278517457 964115625 653846640 912032007 531278201 524248363 633557486 225841800 758613947 822779346 896776188 113261794 203953605 231613845 159718591 351979883 458842771 405537300 238181184 817866317 441381179 681129493 946797013 241727420 418000609 665081539 259023144 520981236 706553787 283601199 549208349 715808147 848235863 692289712 265972031 241911722 133337460 325370133 834167460 644723680 342403113 425422539 138327841 723969009 756168605 459172732 576252920 388974123 977182277 832221036 144940585 973658470 806016417 504014746 574329316 627898416 396876370 866505489 600755346 321601989 512615684 661165918 857257074 465853771 704952684 925012738 153872398 298366399 206751232 862884363 638270563 226504934 684340589 431696434 991067792 695414965 671006882 931551845 125863522 764875620 420424527 275620862 597986177 131008060 417490495 703291547 282039916 708337120 448571156 747525635 655294579 914665429 448635714 337663497 763033144 885279660 887686084 795288783 500818237 617672521 874730802 976416728 965017614 709625272 724977321 961684287 606904471 969321867 497634142 233744968 584690273 483857424 631849352 378120006 537384077 193970442 507960704 728964128 720189332 717575754 461534076 318794824 754709584 401337701 303818626 172552227 118376503 573818241 355777221 300595519 861143988 848201737 357556876 248523019 198133489 871259547 625935234 887151594 357998530 683102736 671043861 497030179 824622187 310812825 672554723 274868905 478553103 280278823 134149030 867546902 302797010 858019226 686380434 628312451 403516622 621649424 828149873 343509429 760158129 593600595 868076267 468049620 422725530 210662208 412043192 840743973 265378677 906542054 916539390 280458334 759724972 579840381 353541830 500292115 503570711 337951332 247251925 249346825 449618884 773955248 436223092 925204774 750738957 833538377 762532708 931826944 796272234 503601356 567380268 216467150 231310671 331513557 228154904 712413651 851058609 244963367 965338705 759104659 727779738 540616632 929434050 526161065 308635884 611385189 442579146 824999712 606294536 562294080 119743438 207027992 243014905 859899336 432551949 842489284 288024494 706200454 692631122 338155025 866539336 785446815 100441229 480499215 591497192 701666113 835951124 529224168 541321501 805758284 317959666 798710202 584980629 194342221 409231355 135045601 988046261 162229664 855674403 637500703 987853978 438651587 610001756 877440148 490066429 447406071 332189590 537943485 325604446 758955540 257529810 620294760 996792248 519054080 499620415 624469018 619213534 954664909 946599947 248868971 755841356 729089860 277619250 942894741 998599073 589730868 789214788 951799476 496657550 578595493 145235614 561475163 648184852 293694800 256565655 679666625 900148437 183797988 401291218 213498900 778227622 536443172 698871445 901455381 418059282 346822370 201349188 620386930 898396572 209927491 813869537 336327299 487424830 809703721 627380070 106714080 677097635 786936925 464309997 445083624 740148416 116368554 958668266 814486741 243256267 592406959 247744920 138776791 177532071 360943472 847678688 535687042 272586823 472000922 321640304 920427059 104380237 558547312 952383200 542597957 906154699 138968550 347512025 118504144 163075363 125808722 729215492 785695511 776254744 505618912 936389450 696177085 557143259 339164006 218694502 738173679 217104633 755607956 755677088 114098317 790012602 454025053 927967346 852304350 343695093 426192824 498868584 691621466 922848137 869916304 595338579 507424156 976967047 626429515 564010518 218473179 808848349 638521525 552626718 450106433 618062180 604191236 665211059 764234539 555371123 734441034 406723369 875133780 765319389 274177756 310592980 996243018 126466423 430812226 753464860 377077026 406600200 460736348 526517402 809976983 796246452 177794596 206331620 846232188 596172909 811479101 570672863 338619761 795132118 957714498 163931694 874299577 827727092 572092866 431475992 191231688 236054829 729842029 200153816 868470278 261595412 922651120 971304975 914522048 472789922 548167228 384101298 911009277 917459868 403297437 821149551 506415441 521315198 820069726 502225204 462452053 380094823 497690103 231172002 759206003 333977560 338705774 596246937 455418939 545957395 969880449 336237653 938129618 946370564 502273783 525099790 859633367 326700353 170309666 375412059 229665274 467555118 543465211 804059644 606091596 485589992 138893292 667499605 397215984 534519509 289949681 298848208 102366456 860565637 358385255 152671601 940541544 187947592 367511763 219094489 673390143 137247432 644005500 768265957 615432603 746853196 691968481 199551671 360424842 129414604 454542360 135400536 710968158 616353469 897073615 169685258 635496189 602342762 358486220 261136272 939920704 101222541 800014330 728656748 141222725 296871856 306180285 972322963 828859524 937654787 198247761 169601982 290598616 334737312 834333591 988286139 791811250 640216851 683646821 110062354 124850362 306274610 776013726 251242433 324427305 567133451 173273704 929208222 975514732 194242277 550314351 977643240 100561143 465153369 277108981 755515942 177983157 360308154 782505427 619953341 443039830 415370115 110839234 805808910 662655917 290384252 114910800 829715251 188982447 986809127 574835746 927466952 687097690 319873488 977406443 535966224 915269467 613375884 302942839 723357568 967589740 791819563 948458062 117282374 810667003 638782448 897402111 249444453 916054833 859639446 330601786 606940544 236293756 257113060 782925166 950686619 785373149 369799604 373941678 164250036 277988897 948180387 927938377 731617764 751142098 799560899 338240160 118916059 209660682 224065072 614061190 367199631 339410926 702906447 110275122 315261964 484514949 126800234 287414711 736974622 193717815 978360169 751293791 276834976 384788606 244324918 907657059 324864856 516795263 374502139 340183806 718150445 386045842 397477836 957956345 693676892 998877763 434246392 266057190 100415674 845705637 325530735 720152947 971986193 494864634 800398865 907983305 249170108 895918762 257580053 516061823 710776566 983406410 207943588 707384372 341529470 869113790 209085141 115579979 404269993 244654704 768952177 935484023 876986111 742421450 492484836 396625992 117251383 772789109 449852764 613650352 487601546 559232956 662441127 336421148 584353467 295971591 944021086 579729428 399265266 949358040 938476983 710053777 400221203 714028163 247117597 479499468 385761230 610577491 749096579 131213328 722206423 114264151 864399932 377489338 818121061 184557310 406971539 545915319 606690787 244923586 285119920 919095853 514960918 222581784 625765072 549637446 608995974 136535656 432887483 100215405 809368090 523019276 800764824 610259875 673593965 325300151 214534294 991340277 226167008 781012282 966928211 735642437 716480469 708790095 349472448 624019107 877576205 392680843 624591272 200373986 223292990 578229630 900080206 182746894 132869723 901293899 778885525 590883912 631941676 411737967 434954504 331417899 585556911 691875684 843389682 627820195 408308416 871040209 853904215 301959276 883211117 240551687 200547414 924202417 521865271 597625811 311529108 495180542 696786445 940117104 765647352 544067912 310263618 933512916 358796345 466079667 981633671 775047638 135539284 681759158 680832495 984752123 806631667 158711624 648097217 101750239 443781033 181104666 779923202 986323148 835774770 829532583 299530042 566463570 805202050 774928185 366448706 367440921 537079738 832112772 823589064 672846170 925934449 262414963 347719315 651730873 958793322 259447263 613353773 868837077 697996834 266786415 797423471 193191313 533124669 421009286 908104950 448581029 367856243 368125561 785437268 657821222 391757665 384623869 738648019 421571841 341313374 431850746 972162841 665172259 218014560 938030645 191554767 223006601 273658552 599960946 555138626 141167515 560293259 637111195 134568622 978112938 255859116 764347593 866841294 676941733 145668706 530683692 226410047 111020066 109547993 675578513 659471207 383926787 252362021 937072402 696664913 974504326 207887771 889271585 144619243 796122657 525234743 759477297 610084928 419474795 867321773 676144946 735573626 529082801 369150365 890492579 155661144 867010998 816549639 188953872 616072743 935385689 457664599 428045501 629378341 394397621 962027021 490790436 551819208 700624107 873434569 877496991 685147441 503038658 187016644 701048208 366228050 339787418 580479112 336707140 121710439 841280721 846085070 744178378 652111530 463636194 830031128 697575543 306336478 279597430 144023523 161469212 993999192 174262779 936168832 227631445 687556541 765698718 194459362 953023074 700991041 160540291 899982039 627200210 842789622 265879795 918375546 987377060 187235831 885182919 597281271 402314750 227013649 621575175 809292745 214220722 234856514 195804335 949261523 581671360 238908631 922550192 605882261 815179748 240791857 342313278 856957965 365792633 734947445 376570901 415818703 346016312 876462998 798729377 828666044 395465366 263248964 414968265 911526961 906472422 521122845 490864391 315665996 244060956 938473900 235171404 716074866 554897930 901582640 897128958 925237025 448724243 754669500 670169102 414837276 538491735 703624167 518473044 950505729 285243589 450409439 678896142 648988587 550871114 160805388 260193615 128609278 606837033 335900118 576497369 819316374 130704179 258149431 471407333 905499714 726010247 279777024 105643721 137806853 326892974 596912772 745941042 225149715 930151626 994732420 202965403 512256202 367105387 948706357 513592711 209375365 800126370 449767318 427695191 150760295 733532703 582594297 605202989 270141344 671237957 147304952 495418532 559414747 263643163 189846443 146157324 696503583 879175426 756383033 303283938 934826552 985666812 887359070 481163412 207987894 477510602 109040542 235457709 894500890 207685052 644423899 482491373 363190429 794177830 207545511 815250934 759945787 737585758 246964811 384111731 599484845 241517905 940195680 464130570 120288518 237532303 218632003 511815862 470014028 306453830 138113461 782845125 478248676 882475001 381097305 998949709 690848376 722814020 999161495 395095288 836385949 781984151 729180794 488445963 443864092 857454218 200231713 863221094 881320885 688836575 373627539 405071197 403555890 809837178 405228925 786766476 290152475 824473540 199400911 541966155 397481855 630632629 704904916 917929568 357703856 476427848 247544154 392591419 730471869 697534741 907077184 661321981 664435152 598187414 503877181 478391956 834580674 264717006 498540094 472962778 638044698 683801791 914978745 358824071 502502846 724227552 177575489 112511126 803550820 844413290 232042423 293685365 349708589 395772232 193818062 810814466 746590732 164123887 727692842 738265708 197619839 656966536 240125813 256843107 426836914 334571260 973763357 954069477 342335854 736217966 930079533 219646030 436575039 817552727 358439008 742647382 929200693 582598114 241494353 615013628 235108516 740651499 610440049 695103628 565192437 418764401 857888445 754381114 794644812 176262495 252964194 875653006 557506826 176719826 440763925 660799599 215547887 453108556 124993540 453359774 624886007 669166602 419288883 140561858 558246445 833466966 440356373 495239561 518713287 503552932 219135217 952869418 316265504 455253175 868869232 470290391 459337204 728699135 374398329 894268538 904081711 473528312 364881472 928187569 581407115 258054812 259279966 715859263 478134120 255587762 557617031 540835935 245435766 842329701 548902658 558229476 944765324 884777134 862617419 439591739 774967795 255697907 725888485 589643681 606896362 417377376 640613671 934878003 411027726 228837593 407235706 868670996 477597865 934662968 260609494 655757012 805332202 130235649 465342527 477445608 546764101 531343588 354344745 439498502 641849883 286657377 102640807 195968217 642393258 368021796 433714793 691985024 505960215 198190133 870078940 999021090 646170412 410901516 788161802 860483488 618757181 646870134 885696119 699584793 978966745 112492095 296383648 604422880 706757904 661245685 768762802 908108659 917198638 885834912 356179728 977511711 837903149 387504935 285587001 863675484 423596324 386595082 174943467 497451401 284670876 303908974 509418803 968905364 381532029 490291577 421112567 721906409 971655504 428288042 530786975 263250933 883040430 649061960 111338787 346300250 576121758 148174855 411737717 575878316 844833129 327910873 330457462 252513041 876060726 754155841 122687108 687770538 594796879 665923486 207112054 809300998 217919530 630927913 674385053 199956912 222315269 490488942 807344123 559649284 303338508 268412085 372012854 467406872 614590964 289027121 873577597 525448154 879178243 813563033 108917507 744805020 573188808 113935812 291743321 851983353 634586512 193327242 125624408 194317433 642737532 585616678 859116738 637402918 202652397 136822763 340973157 421714041 689204406 397414167 128149419 266174551 259804952 863501736 435696342 458958977 555672578 862689450 873354347 768655992 729698731 923328651 260228562 212094873 937464902 425716170 949769471 178774670 658322617 645742169 751405800 392749212 356227989 377267982 595739993 865319149 657988920 503646586 876483434 929535526 897318580 821799122 720426888 714398596 878099798 973805694 352900479 252387096 819387230 729931437 416438487 630131398 249072194 973772865 813449527 881174507 604198355 459193583 771042895 299021539 789415952 867422272 721941788 100554554 567925211 289079643 790169829 690798168 643902156 461854427 825893002 673180590 101465354 312330125 597690128 536161482 998025761 903764295 286431874 243275451 304120600 902413825 406883581 876396876 179715720 530464737 591683381 618230796 563171175 244634298 548814485 171975291 962419855 848784220 203589250 732384085 586073611 176352395 711087939 382067460 326593133 181251827 957669573 251865796 318284477 678327269 266269323 111562375 631844216 657272815 543823290 972295570 396400818 665099883 670559720 928976814 669112528 233098041 677688391 501215248 873305436 192682917 754272247 238149637 727610287 629681500 589124779 587130374 899853697 638192668 530866808 237731719 445641604 990236257 696962314 119567168 847163611 140494194 642113944 670314633 964818266 545801931 839637784 757764943 653751315 449506358 370873228 469873850 867298631 281195354 254170123 813613539 901067550 130852491 448772913 660422907 808580308 698297917 558259678 453334936 413499955 145985637 757226003 530245432 448735248 827963848 877650899 163354935 580315832 944635073 546414440 148130451 220984002 680890840 402216019 631013100 783588565 527409184 233124802 146649238 133409370 570086326 291144257 943849035 616008752 359993086 927624758 849790287 231315210 306638286 680193036 181519498 699698382 342495786 121647840 703794565 273192322 162864600 584498724 442067881 864405926 193099264 906481088 705928600 711365639 791507414 439111759 326201418 576850922 991405334 565988156 177073493 798663355 399397630 902950741 427478067 124064610 501673022 683472018 960345955 136043727 661634712 515214113 195828267 830949857 232356474 424230454 646485489 782969059 176906730 299343528 806112319 236240310 874322663 803793114 705147347 315293787 889099582 912817207 827755466 586447467 774984629 303343969 603530266 101203884 678009264 206523413 907058017 970505899 285669409 538532393 764259341 540439059 678997588 794746898 730681348 563612815 967651765 780639226 567270115 390892873 338468086 202916878 603562506 611835080 821813583 442204117 494477749 421210198 952381546 467039882 490031666 384947318 537021232 606353936 320076010 449055458 894660504 808251020 616605099 630598750 611244964 514494079 621144825 792180642 212726810 951668849 834252949 790223177 890634445 952964799 723145211 658539444 617522989 964095602 761976140 474910185 159617951 792161041 589383562 838631187 195040194 446619285 251798870 768264083 127489242 221595394 971035183 861200464 879369072 315749891 689134524 948610220 437393056 841867908 477098477 306542744 674836888 156917801 406704191 416126637 788385359 394773149 220936308 375727073 749273958 938644785 907314704 158547080 888370104 961287273 194889211 170351179 662587581 761033580 591959706 869907525 226687233 838944061 212185795 866590371 524535731 810729908 986861546 804031131 560038375 267590524 479434190 453082124 286201548 413379195 267229797 311072355 289788166 358324575 377447788 999552372 730310779 277397486 490327109 312349520 807173815 587726155 928914186 904624704 233018106 678703824 428108299 886700208 139193880 616757893 446961259 852156493 462187810 473210269 776544516 914903781 152581634 215053012 258998274 937041109 305141702 220411035 850028380 306325478 441045740 591530258 725453769 898306260 254324172 470364172 634086907 390336465 657013746 271664966 712487073 224976585 581087069 114937962 202896771 462483508 523054516 982399181 761646674 771537194 322690440 378822773 690331086 601389760 197833293 925829964 463556532 855766938 550828321 315026351 299267188 522299851 366699723 885504972 207974087 235776593 594369290 929399485 936038108 673911569 854603257 979093251 411309427 945400119 652978568 971601493 698893639 763058281 962780196 307019255 912356647 628389669 954252603 643884659 266598525 790200728 325803743 742593457 702879034 917344655 235700547 823598229 753407589 274910225 131151879 740501667 685090916 129912894 243163201 683364998 163581285 441903444 138927193 191556281 512396204 301937789 439923243 522683775 845430552 360240274 375648898 263064401 991630393 681564344 942856598 442904770 461952739 589057376 714615049 112858647 217805048 462513724 946606052 627856403 554918541 623784703 964005791 436726371 638639558 842987411 112070537 154660209 650260968 319901249 215980847 160312526 177284436 491010801 326876908 869892553 611051664 324653437 940989608 825049832 483633910 654029093 807426271 663372423 501784605 953136720 909739694 406400482 799338553 186432270 985383204 638723984 598547389 289884918 851856516 259983662 412352665 582046041 454301994 679997737 311931469 594109430 652131650 636682518 211263281 734633686 606848855 142592152 594436515 279140188 378465963 584803076 965634646 591546700 818831265 315853174 506962849 352120676 928365641 224381385 407314013 474489267 698094947 864969073 595290062 670668215 224850524 232534680 346819347 552315905 189889250 816681663 991791461 289776497 296825934 822376163 844922209 269896649 694279464 176982153 605958269 898588283 735574143 844450734 824045060 708407427 725799882 144209542 969204528 711507242 111585844 991631870 383356121 238063831 220194796 604140456 554787771 797342767 176016580 781381952 378918828 856453717 585867284 940596878 759827667 922933755 417038023 690879266 529747156 358371491 173117567 919166946 419924310 471405651 339560410 430935630 702815691 911603749 941726236 165166796 170456998 973046969 511287501 942892873 713637393 606146104 643367345 972437465 838406061 212423103 550103865 317220916 539172910 308794748 416128843 838115531 564882993 639388123 236599648 614895487 422323740 256189352 452460588 264798954 276614716 519550159 592229901 841331506 354358284 878760028 161243927 819244240 890366018 300376289 324211576 718926512 527942339 105664685 723187114 853383141 439353312 632367339 135847959 256183200 105436356 411017044 625306090 238589093 198045533 328854235 884222637 251777665 683863052 119616481 190948250 607891473 966719963 994507171 168460599 335228484 768157418 161727515 946306963 406014523 473329775 957306641 877218041 644272402 714753001 188785371 402045092 836279612 691191652 239881429 258262289 951116075 619653960 496182384 504172083 451998092 611344471 778219657 247998507 479034351 536863642 542181212 684976658 943608911 472914828 783324250 444661693 622310285 966261779 900568720 155107038 731204776 500011790 973922349 438460045 540457382 277673769 738751536 648251017 174120956 652539274 987266956 745668499 440490119 713632867 845864718 631767567 992104982 116063275 126863862 427628154 241777645 507276672 941598796 155108529 570205853 896935452 533305080 311282606 793898296 432721510 862453423 807297394 310933942 600415563 970989854 968245917 242810944 820248608 449987121 777812226 441830010 216407071 261184160 274415325 671093171 166887037 923399475 877966856 506792974 949484497 196938622 323424163 509186294 226911169 630647442 371893919 185260073 898398724 206093058 235774088 856272054 529559727 540096029 822149788 697857356 611125071 196585580 746414529 221462188 739238847 711428511 168721791 937608875 765054104 334846916 681552761 885342918 783185548 996770949 701036469 701945154 920498189 709627860 202158719 479691010 258123361 936667087 681815886 219709207 801022276 354316316 900987019 340081631 944062508 570171350 408215657 288158590 475936316 871461721 777077198 627248438 947047059 197419167 263332771 710530581 112651837 564184571 555294185 356800786 335953955 604058702 418380753 176089774 458870896 464652060 800715166 664601959 197047667 817003573 108673908 864728910 834098892 833408801 733730260 960832513 436947504 980122817 523614783 418224012 843808385 413231005 103649435 595236379 837830451 931736393 103979736 266572910 110915585 791988023 202046753 240631556 438686818 334439270 631264910 119842065 557023930 372352491 200898253 797501062 659127423 275376076 628753575 498835459 991044442 125927350 895874241 353910417 676035717 881442151 788105477 747950991 402068928 787590917 736378713 427860495 417335135 436223448 769102085 831411580 473539275 218459128 381342187 309089809 238397959 135518251 654473215 911767763 424307627 707682666 166036473 732241381 474935477 100206632 504407093 406599855 773626806 505700718 928356325 563261577 498038328 597072975 209723674 876073389 645272039 696830612 570929019 637979639 576320426 880444421 890214633 117394956 701608324 838307551 521337509 612870696 894895848 443556024 682496286 243437347 537320516 244193918 723901502 393049977 278082606 306976832 818889263 370449405 159376667 784655166 460137043 847047030 518167992 607018424 813852607 444426324 347562337 506240987 872094144 507578155 149486290 434622825 929916614 792473018 742160300 343120433 326680936 451099106 896365545 540777536 294375152 864136762 947686642 760731645 108370669 548466821 878529591 851743208 645615833 921578926 321855453 472657011 473162021 724858670 546182411 795149357 587714538 586122947 797030114 158987704 486523805 256811723 516815709 435120818 648463126 589434579 812772071 951048858 341585185 700483332 640223475 430210786 849358540 684166802 423035549 281656139 568335678 587060092 478036852 730056281 662042912 277495597 842157945 648775531 486880903 403055488 720056095 600570909 274937710 126787339 799474230 358706781 400547156 663549876 829551355 424657365 922484696 380694698 198902236 621997449 329874793 846943933 765698861 464657092 532834341 968024186 657910957 945555359 440709012 967304601 207798680 526153800 536401141 439427102 408323153 760284112 884050674 121253386 381690206 747054385 229387264 460649350 256571740 514269091 360586645 278165118 141007974 967388310 668919364 901804300 871167379 774867735 505862322 946166202 683912515 468824808 524068833 905603327 773663343 927989956 351600297 225871032 704357437 168863604 930683956 508156254 584574408 879174431 834413185 986623766 675704767 199785920 500769831 835853646 730482189 225407810 356593955 398884123 949925386 697987393 693202276 631719176 490749058 594683186 308537249 616070434 204699330 284223436 282848716 892834823 613434768 864839595 835864278 260078302 873227047 231949674 607163196 781079737 997910300 909698495 958105123 918005659 857722431 226197188 158994435 799532570 709574131 325204729 308337972 148970213 803839124 124005887 528645293 694554767 886757797 436214343 442956475 446211579 642626595 168411996 657132599 673516695 845981108 550333340 519249400 238460994 424473472 212900345 349651472 580386343 619787865 416587926 706696184 679001764 159788468 479878453 958920022 204071752 270374400 214564887 576381954 858686658 699794084 572952764 862594381 949992630 462465796 330278136 397072570 131713730 822859923 296078660 751463554 630844016 138525187 664979790 942629103 207282190 386360520 238656465 517967178 155974142 732133807 605054778 802915397 895025673 721961349 647414214 687502215 884756903 884758864 198844449 615797560 408774711 807020276 303616672 217694919 407378834 335817945 612698106 455959890 439276769 886078504 684278387 238927089 653577976 106699115 867362193 259221094 602303465 213765923 340192630 340203158 756644915 110230238 328907417 426794061 813939127 823606827 578039533 524333861 350115569 276841547 863035901 351464165 330546903 541756694 717091425 426375323 108021237 927811894 496755168 262457299 394192451 317503727 777211875 614016682 660149439 432387025 493074889 860398034 476154790 909614371 242698321 307525453 729513128 606900512 492206700 126675724 783464322 211435718 832853364 557392980 185553203 471252781 394877189 442674035 108754004 465866590 766097131 958753403 692414107 528621497 723104397 972481683 797127029 110449692 472665752 340269597 206713699 665197055 307736660 126409867 343853584 915440944 680869696 467921869 710981807 950143687 412015416 664271720 774690846 669679249 320610652 805178370 844044319 373290513 195238453 427032830 648727543 517470033 624640935 191638388 578605755 938681661 536155428 681167938 840230530 807695444 815654391 265525785 246133601 482566609 902795819 519997413 631131180 558813418 408118504 461334447 152140788 933555626 487580020 675271999 115296668 785257151 795782852 288266246 918047773 186974770 525291634 746659842 272213214 281641123 999993185 891070855 557341222 268937675 130059602 213860343 608372353 215013169 432647324 300585671 598427647 566797026 961363488 370065464 402852898 502808308 819551608 842501222 616676646 568918999 982008356 443117024 605267853 669105821 508721919 254621821 133651247 649832534 388657180 830870266 894650878 219139191 298418524 104631550 920829060 961350342 155735516 322361075 111972698 854229871 270954326 603447080 366736931 383388316 403242715 138553431 623410782 882918852 883688414 770722250 226052385 624772759 244156155 825482706 678037607 924100938 459529514 273143512 475191300 597072300 469933276 961534044 900805065 289433951 472929400 230363099 645540400 531407819 229249513 687611002 966483309 449591164 222061690 680471543 957374102 426298189 346455281 115376435 579285234 145739410 696085539 786581268 174516344 766182216 894234406 789270522 440266473 455117639 615647069 726123244 300731243 715019897 470023640 544866991 634488083 701845724 737764863 226554642 870100272 407658521 379928636 386845023 265929452 128495014 883525828 865139616 328364231 134637100 136446447 679814340 557290400 247889974 385441811 340870322 887002335 387826911 445246956 944126016 710096028 559461661 926566372 814757433 150003666 696330693 886929275 374511455 464474506 340948276 544062125 649641558 610660602 383462660 619582514 782277803 389555073 383041396 833085523 537868132 778471800 426659301 285103248 922617237 834561864 486115042 191283408 447250953 256270223 139121452 187494819 588597403 339830092 616349791 755791535 406617683 179669758 944201386 576966040 682370871 895934501 233632894 971926336 200044789 217934465 252694988 714676784 595669497 156713831 577378124 849844973 939268242 443036798 108770152 167762135 127974212 900616511 405170478 772347049 258474051 633756843 315040877 197193845 752616418 721713988 393264850 156014144 321479830 840239853 857052241 508491509 862531822 996436050 753931499 486598050 618983172 998328032 625441655 631117680 826481509 875399937 686365160 919408017 184104228 420985185 857566073 989391666 230022064 995012293 276769583 999013863 330309014 722525263 554077087 894191458 974678895 414445901 700933428 290560917 217853749 640425929 275001394 392898844 354672534 556602297 887326199 576365764 891673410 330264245 235784889 866091720 143441700 230089966 818844302 733727785 778481198 532681512 579141505 258714791 669301124 687145559 300436390 168726134 788047594 264984351 300769316 339415845 664805852 111726325 577172342 617531198 754851412 300001688 930044363 958402436 311799411 670747343 316267294 983120946 892568124 694277132 780762045 895227974 895389250 809317131 678712511 437328321 134906953 296540239 620698372 244730400 583013036 939523265 992966042 945616917 428039689 607598017 111824630 649953348 377893926 394758692 256238259 628720428 471683133 353313655 654123414 318361082 631704428 826626761 437564442 137892887 804901147 780373125 105264927 380000449 260577338 409436949 858821076 741526128 805403543 415971539 327098529 480627591 802464485 361947863 231917441 536069368 619076759 608708171 362839704 994119963 412731139 447717210 177111478 270089674 189482526 356397980 561127340 845789858 816914437 586422800 974592720 156623673 363924718 239081923 434863062 709031919 564828912 244348870 893463424 271001186 525285483 552861271 234997412 426165642 730604531 753456125 142695947 441865101 372151972 221096613 721470548 245697329 183767937 166433020 199664447 995859277 940403607 225792563 501080939 652474949 701941578 380801381 942832184 387248340 305924795 129151561 590450389 203594951 694884171 682212711 411186887 307865351 148926330 602926833 100402793 298331230 979003771 829439124 335910255 246257828 821263892 915731849 851776605 501512759 453083735 501780094 665749807 688252148 900467719 307248922 806466932 992678196 397308735 414711434 987586874 954317039 231661144 674735034 130030872 374085923 812626689 900913558 581144743 385151774 633072346 557929164 341932956 932139002 924435116 366236079 580460018 128716773 759527052 697980540 755292869 663216448 730076012 183432078 893237230 727788613 798879206 656806834 991781875 588272540 756335385 283097261 363896264 138272296 591714678 114287920 562262134 175027405 454059015 803444807 786765039 286691977 259888618 660072043 850622303 958584022 108246310 499959457 393597509 223082260 323428966 514354836 659073291 377270530 260033828 354385337 730866189 832057475 997746110 469970764 954491651 937928169 646327443 287965848 728134172 661535401 688808815 194607997 466009891 263919870 699436966 481537122 290332120 788654180 339201011 323603007 882403551 671677615 388733722 841296816 744283556 419965512 833524517 446215315 127669717 832650143 921826087 740835903 831425736 476786834 622773859 437172076 200199811 820116279 723050847 226557998 185723092 128248236 575877248 637486010 833084255 257069796 501615760 483369419 256677764 893169431 986175846 921687105 842677737 372650752 249754553 697920064 574648004 451969140 996268263 342130739 274060645 813275580 397546761 983947998 100748832 821795225 425886992 742399809 229608006 122874944 387649003 912345287 895176216 484370392 432396043 904751587 866837617 201161815 976764035 586060675 355369349 237295992 123633906 155303042 730370683 535410496 979089903 423036370 520721978 717420343 296937283 290624441 833646681 413089678 750421724 613660626 825525686 796860901 940736987 340695077 797433393 201069611 556809896 127900177 214609207 467137014 846627049 157136789 235692595 877934013 985037917 666135436 737482594 192896424 343007980 208019321 252349854 833367075 896084744 164540353 235899193 874930572 263856832 610271562 912785942 488140570 872322292 851739746 564183778 164803291 698450213 506382703 728839076 900300531 456115052 734624997 930596361 230276358 296156971 792157637 865980984 595154667 189474771 496076102 424592963 287668227 429165381 463638085 353108931 795927976 935769926 670925636 128345730 272134008 717608199 401965198 242209788 440260254 441191818 551082134 380936461 926380059 781134917 127664593 459700591 491754229 508480749 566332618 534950692 858166621 925933809 996841872 416428252 232008119 741772041 732541580 708433757 687545115 496551348 365277730 744731692 571379699 692426009 620278773 134761005 386744174 842565260 487384502 451170664 413338667 688662642 518172158 767585473 516319322 903602768 609108104 202681822 495285212 339052300 535145280 839585036 730212090 658176450 764653927 499986189 745895871 433770601 501751094 357363322 254159184 481814463 952421356 862942674 328748299 857961993 333179732 500149557 537916077 606632326 852397972 563497176 938220479 888504653 798128910 164472258 580298655 262569363 914288306 905730953 964666587 674159574 729282256 584314115 365268291 849177205 593167679 869208553 507030797 126626618 180292441 124886004 748997034 884256526 375331733 510966633 976489821 630976417 672225807 854613874 370640983 644048668 721963071 135687251 781307103 145575635 597889212 558596842 801999285 919102015 763216214 599505459 333933945 285369879 366253902 997458904 379361417 553844968 190898551 972209599 342844894 133361512 716560487 777452755 713647796 117747411 136882562 529574266 327497858 589638829 325085249 960175410 177201411 637519714 313567503 294050611 703825388 464488404 762391896 942175791 552543863 675460970 179664360 307065495 971237178 971344508 482961591 874178686 333666272 791370611 244430621 108946549 101577186 104972995 335249067 145244598 151550229 441458927 345655718 508744563 948062312 321707438 712562064 410075932 797112926 566518855 517987264 556878077 690648191 579648538 671394703 676258359 745091896 303190977 326201665 393255109 391058462 627127222 443425839 370026179 774749901 608667076 431384501 127888686 369239738 788547729 960269381 732120599 193868858 209878311 550362106 393388381 995335712 136092860 843354756 425199395 325382360 512303988 781022809 682098355 982398676 161904990 785390250 896956520 674938328 482732696 238699076 892947076 805785883 283738280 266592362 233159494 432150384 496012454 234839667 850102714 210697040 215373214 321242746 354434550 810711084 787241403 930645058 529136695 957429117 657297417 189924017 185570381 986038882 765508762 100879759 435944278 208954187 621844898 674620035 188023452 653628735 588974398 815621173 351561246 330521036 456883197 250682865 937055867 575719438 619091271 395460953 289605491 445921463 652393719 550806557 868359263 167664135 943666247 737260122 942451736 723352888 696268310 856071415 724021467 635808403 601312270 921173048 419276196 470020918 867596994 495635549 613350188 857920770 946310908 961870987 557516375 790084492 370345570 650978785 290591918 718960164 786965504 394898892 850285009 518237033 915557775 443434970 644381106 444422579 997127493 563473857 336814385 950276977 252147826 511342843 213877181 211278538 316877147 565914261 687024198 784462134 599263560 781907344 884960282 408090668 285478949 252092335 402951354 534714548 713935538 929784508 601025710 136135401 605449255 784332065 678827055 968574038 782115498 593832266 807067392 935516583 990185395 889550104 520884210 306406793 170782905 654677569 718529550 602681542 150333738 696084275 482675562 142255976 909263707 825391416 443178517 536299295 187824434 430323334 413100557 946623803 894800669 486539058 623612440 319009051 553942635 622822970 415516086 587511612 565184313 308081470 470779155 475075192 552916771 903749624 441916668 800537366 132103446 934916125 213148458 407715989 864338304 996150238 954208792 624353676 563668045 314909830 102117063 931947879 210738999 917490042 688686115 271244920 327194681 865516794 888908637 110255116 317949365 602407052 703347415 878641196 535008634 194365648 773203263 331041993 948622030 428586900 159666415 612208763 651271232 591563991 611371846 504880823 378952754 916266312 321908672 450330878 958727486 242054927 765522029 886360415 914828319 452147366 476103299 344743769 193404867 249884404 227573718 152888121 533713551 237224554 395811896 953625309 292323023 710548054 821956340 701598870 996422396 771299798 468913365 567757183 210249544 153167810 928579788 726701635 919247656 617802758 916431991 890934954 671939603 300034506 533477849 145549795 617266701 665021936 269479077 582526342 907631031 478740793 495772828 240294804 919534739 232424023 105543551 350616031 404360596 908396478 792439027 964813517 445683291 117909256 694699393 958825581 786493319 871943296 234097628 968365732 924498332 144540368 963998905 806397141 761638248 959407210 762068324 805299358 337239502 945742286 376551023 949490734 349371680 741900313 472437164 509057557 939809283 429479686 348158934 387428091 247194209 778785721 903533091 533975805 246283623 702339889 330024578 119617305 898414331 194610213 974934634 855466819 488000635 839483201 621005355 686897916 464556847 685479154 691037558 856895451 148848832 395250033 954474927 697758086 348160041 406271823 765262211 596396513 643755793 655313517 754473246 490848487 292520841 872337789 361575783 108824684 675367103 456665192 753869769 744957837 748443235 178369356 839255095 976700543 758579316 946797638 997619367 231212867 622959240 464815295 494111820 803165546 266091406 232863798 207102517 300770390 182547013 492789292 121963134 711659587 353417494 862607341 192208009 641645514 680647923 327946839 566225774 230480284 788583767 280954382 485193507 485822530 772801232 192005840 535925676 482631148 264856780 170788163 678021565 463117587 989513886 733904033 146195919 959265829 436097977 863062269 864603557 122142898 995859157 227228159 261087155 268152134 518688354 681203089 582513660 730244491 281665284 866631829 795624397 369856003 572830560 574212494 912644032 704206697 488392259 642757220 817275947 720288383 552816139 767322108 897459921 551120937 961835085 666509970 504340201 391981491 265198580 711918648 586502500 132286113 848163761 164807998 905301131 457381505 102660414 967000423 287174492 579228271 202934216 310444926 806779980 932989752 316520629 473958906 276374771 273658631 615410262 793617976 923766174 936994298 981775076 638582764 289654657 567132463 335029251 791070544 672182418 219688597 162937948 564136364 539399231 372574894 210416098 801473447 316133580 558001349 595463037 928121389 472803315 402942604 100281723 892148519 204428406 989412940 476219475 577074590 285412734 337281041 818095606 484071857 823425373 856845836 775145663 335285786 708842598 363933143 293973621 269185928 475532610 174961187 948736156 874247909 944995327 978582550 572233185 781021056 972207242 249591608 385714667 823032057 273609087 822586262 248636613 517139818 619008420 726284283 544636050 187544690 758763443 550526593 481599082 346570641 933633744 700365991 590418962 715377625 155804055 999340073 934463702 895539854 502377665 866505043 505620047 394311368 237611898 871414330 202668800 814167450 797368993 192132803 795318638 230144828 702088506 160319124 383868892 234867038 114958131 143431186 405192645 198147177 339647974 732964073 347256719 646671080 973003829 735473458 925733525 774169981 740240912 206366307 274896587 225236693 524209473 263519635 963998530 487486943 166095757 601421763 386703600 298119273 606824803 354157920 169843208 972683007 292111705 889653321 339299953 955664916 955593047 552051693 315186170 775425232 611471783 732784164 608104716 304995257 994331429 782761896 418953179 747229551 811109976 431657954 946773265 456623310 987182297 911888630 107721945 296820872 780430436 429121326 554998163 190973716 382842220 371270133 516071887 188632498 938607534 505500849 341421880 960952652 336216714 106985683 914614772 340550175 222476557 140205294 298410993 215136363 460160404 337376386 715076932 915698342 544514013 937851119 572256036 316086282 509003614 911508270 880742708 467307981 665041164 541367552 386257204 427835141 214749548 931655342 551296078 776186124 491802067 120684813 164260271 192250858 596194494 866258221 803857515 236917539 435834938 679897469 617108182 299844435 171903442 548402931 719573480 447166894 603505121 153276967 851638963 862905942 957747882 760817398 567185408 108118372 823826504 711315142 538185189 994112542 218829649 627665821 408291460 708640289 677975611 683282273 522715858 772924832 313005094 286120931 854878680 798566892 577564562 488710274 712641864 184363982 984465973 593350183 424703719 725431906 621768772 406416288 533871729 642233329 666123698 362420738 723996723 598359289 751069968 180565671 518828557 165597158 659291350 759884206 607495994 336823106 802564072 270857290 935512852 757666052 810007863 694590421 257885468 280171262 474601136 191796019 335873585 702121098 117990611 752955126 772571272 176620726 350984090 648162816 369904192 258644913 397943950 121498813 454780253 374914237 333149171 469806191 418257576 419366582 306146718 814696413 935997028 152838262 727899770 356551472 689824207 178295931 191204884 252363754 358521575 137900067 640695958 953272839 257503027 107319170 969726562 892276907 481794397 440036382 623551334 427365190 377074473 563145954 576288551 920409249 966883738 892838415 594256472 651716232 638920665 478168840 792658623 905962261 178621907 355640156 869755579 274323329 838345862 530853969 557172332 718569644 198666449 636900020 352849302 772828072 103118379 779423442 538593992 574184797 828032327 230336750 927116569 147116683 373425736 529856567 191061980 966320707 142955702 400377902 544228228 106174562 447008183 832118153 221266901 318462506 393094936 538838241 357233096 678005255 853030860 475658218 568062595 706301827 682722058 480206951 489957340 455785962 498159739 900078867 574283251 552518291 615225324 683565444 975840038 957772966 806416424 496894981 776479532 816967007 963430459 903671564 195549088 586930922 956686658 985456708 720587022 856979854 325204129 553140816 693252096 539915107 834606694 628600431 579317062 695665475 339368709 859287528 465807878 970552438 329335583 458797226 627709018 589083246 959951168 249177839 689549281 190455973 320986104 705080129 203776639 235691454 227408260 615780968 816286012 491184667 453644000 354189931 939414113 919116516 177722914 275984760 572176179 642863968 990369899 963207377 298909304 781900187 987026086 203109344 718880088 747775995 400000989 820158970 686213954 882013517 936775431 863613187 701439022 678267080 514631802 891896509 565307221 335752401 362697200 535764183 335403125 883617158 820688469 752006874 480791638 742895326 498888806 460782551 242679906 981422745 683139347 508548077 141609309 922175457 313084883 969293714 298843310 193601167 630355873 677172392 277525914 380112063 455574412 274041414 589929059 141742066 612784749 754257251 362669190 947012382 899398141 980229892 725964057 103577045 365223529 445276124 346414574 414456859 441609095 770497315 986215851 821078648 275024436 995010126 522658177 818593221 704865110 746788310 192411473 596140309 889615892 456082121 781654787 542611399 570453890 361635585 715080507 927540099 442537651 916479709 289977077 585856110 808662963 154623952 862774729 388286933 494070839 380053587 120720403 599736696 404267463 480348284 677504042 628872327 544979568 251103848 342677499 123519109 756765792 612095770 757513957 800044784 831412215 230569690 141883264 977098854 374924698 864869813 298125748 443499559 324698956 549234048 589790432 242359855 600617316 652309079 383830839 394023724 119988547 884373632 547444760 490944309 411263058 503321279 871961375 279849575 122058036 399216308 150322081 790387885 180643542 140432370 131674197 705189527 439957479 160687922 383974587 672212115 670110920 392698864 463643616 836108787 941284852 665858360 751556636 413079116 994240333 778933001 139896086 220527841 809052541 394431140 808652287 302562477 752614558 194775525 940578616 947087392 113857643 535737956 446593921 593406582 664536535 779432435 773214116 392020211 906532959 741187392 355081373 321192598 710324609 807621838 916811155 551451690 269836053 293213726 694282238 713730937 225702197 194846295 471774013 879379314 754878151 304644213 393981381 925613395 967253759 951543405 343077405 629002756 507200650 796270973 223434454 748513103 691207140 580088438 445949079 964429122 275205629 757827132 951915709 408837720 630940251 550030252 124737407 283684793 623745413 333119770 890111872 143380395 525931599 304269023 844438701 815751967 816384877 937551205 567608783 187603399 751607660 278653287 216944512 141656887 340770708 482153374 438568508 491193663 869701498 755706701 516201014 361107259 376398641 633422902 660384215 585830248 647472555 147682452 880895239 783278078 165717635 970816369 433104034 395643022 674796059 463205833 124656018 231423074 493220649 323343445 992549339 638886699 502181493 615494190 318114383 396939484 706618535 817225950 468091618 349769326 737214637 758967591 858073095 870601650 214771410 721764543 318260868 383231799 306713096 331843015 943815774 208147050 948823118 109234809 826755310 234039769 269707029 525973242 366267128 253822781 472766242 575620710 507336611 341004475 459818662 843625996 477429463 552610463 793606165 737503383 722778202 544170013 603469987 669974400 219817712 765453306 626052281 647428975 715286630 334107417 156338082 844102126 599995692 449369397 912481859 784493063 835677171 530740655 873564958 908125135 980498829 809442894 782674189 676682886 122781416 238299891 806540495 822660135 350562440 819477897 457990140 346738643 386296983 919685596 578573758 865526328 779887146 816528305 873504133 119102151 465181441 684089436 641411446 897881422 890946854 661360494 504212190 171450582 485563309 300832341 684190116 799275610 539798511 341312037 107327541 562247791 476143908 876802848 745860876 868222951 210253909 385549973 352970198 237215568 978437564 121679432 441732279 811850660 878798801 225953191 409340853 318616085 308398892 327373940 517385622 401454567 841600876 590344574 635280956 389487562 658304075 865499085 215218421 626051914 764445181 165726927 839553061 786163115 355056518 205791328 394942688 461847110 352320644 207289083 104931905 297918534 104970656 267322937 547872474 401301818 576765269 252337194 488291934 403379652 512854563 759170321 928375165 202076775 180801516 978164136 405905557 389508296 380264380 178503097 666258509 963714730 173679648 790930084 361025287 642730879 359483261 630325732 163011084 362262574 488342154 505047425 675291946 785347357 299541264 855610136 692052718 717175482 190941680 694860449 698373792 879591261 886396706 199631473 726015964 504698904 378572110 660482800 992302949 141867789 149972070 887464127 855738653 113482993 540118446 829649790 903318917 675233859 848428534 930286025 614039911 550589026 710958397 414885147 416161026 615441135 439403016 265081505 157547552 858064024 665498864 910708981 803924381 108499808 821249580 957194484 714366627 243261378 968608808 879933905 152586570 490801181 956664138 540181555 879097065 403263055 656431030 823536752 695738938 850964819 622099318 352441510 305629545 987370116 332676437 337786362 711609431 935917686 903612031 886247555 287292095 327008452 353062009 894955948 248079627 421081578 664321103 301358022 630407388 112228218 273481739 571126593 762563036 255170290 685466576 926087921 629185714 489033965 885447234 138327739 279077776 824009655 204668661 256552884 193157547 948803534 296534594 117843386 223713413 850771321 856985613 137165308 933069820 283395073 395575478 880897650 740753015 444880918 142241582 410476009 331580844 782349610 574800317 219537675 228241173 461559649 582437530 759408322 633127230 879637108 246615898 245642884 623975412 874221952 274486778 821913389 291165008 406283777 794329380 764031019 144612395 339109211 650137175 291278071 872323408 137965867 778676565 148651119 886724456 519036541 419228267 883693615 722410968 200896622 141967207 250025903 831766184 184935315 103184799 139919045 380882782 944297272 132784721 827389025 725748247 385929974 336751681 737542684 785993240 708375491 386618822 282171188 677058084 848250367 665451455 530499065 482156666 716681927 717942418 502981616 156144068 904499555 416365138 234107358 976169734 586467215 710408204 525958071 981812669 651894052 505827044 235757573 225677466 363401548 529609663 364967389 761808339 872916162 766917048 281186778 413470800 114612963 386446680 804117623 483816650 156753303 269447376 281215247 234811993 450351726 735772318 213299023 241337400 102513074 448510899 230547960 257189658 193919933 417736585 704872009 423563593 462393864 592200898 815886320 263720994 674425337 486968349 858048833 497006571 189321225 129106119 980141376 589402825 929801411 950252588 246086599 104173039 271821497 556851909 875579640 197661561 741149583 978656575 844988410 792008186 405917652 778081493 157789677 173175575 219694225 562578393 679066911 883244885 328958376 934571234 119284404 265278222 874240891 206593841 736190553 164314077 970547493 689672723 981666284 603880711 707171320 692618232 606819633 502230082 513188128 529650998 825399131 959706754 761206276 116467833 938941861 727852254 950204821 337209367 604453251 789031144 649268332 678343433 180014027 960628583 820539053 532762129 859592829 962077578 535573305 529788723 191606382 343799307 177014284 109204438 864207906 748318126 671888089 129505445 287930751 814434781 838062751 372562231 766427312 258634261 789657494 730736281 830445941 585826557 628767839 891242012 515428021 627541488 995053536 836241861 283368632 734508323 814916339 238866284 605474729 964109187 950396457 811063802 523357440 999118137 618483231 537953630 256660840 390356089 359784731 408926232 231981455 812149827 440563065 729807583 322536275 380250612 965868010 696088305 115616248 507527479 988523382 416333075 665502475 984402263 334512866 283377334 983910695 375682726 942534452 164775128 991118985 799738071 378586092 927983893 149542697 625845791 957856756 203534150 187950685 851674964 335112564 475037930 709877219 536459439 961114568 675525933 875621879 759548996 543955941 939428514 580278234 870159174 895561432 542361174 556731337 926624103 217509698 379512659 178425158 783829695 252099290 112369842 498501833 363047926 145572499 634226788 403817570 490344642 110689243 474155261 681481488 103856097 863776655 414360254 383002932 249849739 923488958 435490792 554589684 346017904 936300911 631094415 592014196 671633683 668373613 151477572 340436979 972959468 324906694 186315755 709720131 142752318 119910497 961225405 804321999 401349041 578550497 881872139 558098792 954035652 861805463 447144061 919090448 620204545 938020568 131138431 206920084 388867241 614356950 124948887 930773174 738457012 802947864 724257002 747695028 113867215 432988771 783041515 453834607 868346109 127067211 365343530 301735610 815788941 979404681 451927836 637924487 843871143 213471286 840334537 928699530 846392060 748887883 484638186 126156181 809217352 964410536 210936569 725599812 913044697 230419524 464202109 391095321 500263509 833897001 580201325 299930454 378917913 469819539 578288003 931519363 286842429 616564466 625446786 222966273 647932842 558782369 915242487 397114242 698134172 786684296 504280496 703340734 865150355 821357615 847851501 636755978 122214965 738919360 703034343 707694028 746767941 225009966 814068411 290847461 454335711 104381697 355775971 570951209 936342603 911814098 227902489 126167657 431960727 402261308 640535524 423947885 113193402 657092801 394589876 169326457 467472644 801218472 488600556 479106527 911320486 478595290 628460326 976019557 154612421 985686556 253752054 845074940 133960683 438924440 650376364 822921217 936342863 294765084 207340245 249589250 841843086 471898142 785666674 817369249 941980245 861423981 258202084 885133070 860907102 461657984 860465253 930762717 288870654 169576937 852150621 420754867 480910803 221134268 682519733 262516127 185371015 795249273 509803883 633297488 300907906 967182289 979322658 877997753 648541363 594665157 580968167 102028586 967031918 186869916 258672547 619885473 457706468 674512459 600808935 614842286 218907370 631567873 627909165 623746823 847731723 633898179 116784531 371231205 475500960 422907923 877396786 597220248 199602889 101707380 533393467 105717232 455131973 810059507 267299014 952938320 658787835 682517621 412089175 640545469 384183121 770831446 573296130 808405175 378936994 628447023 385379784 724680824 789059609 913901874 561210995 663648165 329708857 552942013 141871398 890574546 379594962 401470610 249647818 182521541 422164268 175587953 953616046 968309005 533844132 552192650 523398410 215180484 615573578 595198278 336648683 449706742 254910582 336575050 191023951 808327129 432669722 496765034 159190095 700325384 904687767 631907331 280488396 934788991 708310004 328109209 792929020 425720540 702216048 421643771 291487120 332523943 599172648 648305579 920712647 129478324 693957764 616743650 980771638 808473646 475753995 730094391 239972806 182274424 110612282 764938431 546087268 266259240 257387287 127340486 434728896 809138178 465267966 286849139 902545000 873783623 733581089 839551991 363059606 366883359 250052753 331234171 314145811 239727479 632802594 752698909 288117375 502682949 267850787 624722300 298061805 478493502 566079980 457366421 555108984 730349048 905947163 608338542 616343559 161380691 993773770 536535845 119907185 918625573 839598355 478385330 778372336 484374008 264656449 466434706 917522732 694850270 105008981 896877104 422274252 315595826 738365616 384720780 355820457 641725883 889056764 667003707 424559706 260348084 814003827 111128248 297795137 674777295 451130977 612831446 303550108 268907585 792682777 951178329 310757216 287751505 776055416 634334745 402608734 226250531 727419897 300635310 511717732 180002858 896247012 826136404 416082702 325040989 146532037 758247166 500087586 517764502 767431897 442694215 477954670 814285077 891036008 597501931 587209317 290798064 141452164 530985371 670496433 777313524 155455000 365481934 800307517 870325430 143747296 936811568 739074467 271351794 474219539 950982692 538833144 301693546 217272996 340577463 813415785 421132422 973230795 612986891 302927404 572079368 595818373 868755510 243615829 991864459 737692653 203174240 868595253 106312974 462026477 361316881 424830671 638598488 134475909 929942115 697271439 115178597 876896020 552441887 905793340 903477083 713987619 447718457 866058582 140332747 613427502 210310348 289499787 460653435 284264666 316109486 323597045 646863755 865545092 172250428 114359495 205414883 531711091 411238641 413055444 768473310 285115751 828689493 540644999 625421683 420788541 657858658 584146194 118022353 674903410 741776084 474915398 124707947 913419566 882788949 251212194 300595532 863392640 711515793 784268409 487657500 260526767 364772797 926168248 356321436 321139897 149567926 862942862 849216719 781553896 837293065 815739394 426665179 180364134 324099242 305072204 700398185 243548116 751837012 870404141 520476726 604093955 604675580 383350956 811483534 655810185 850361716 141345901 226017311 584058927 941206884 463820278 676466388 549473870 513740108 984781971 909292151 246360293 280800571 402034271 707740192 433406198 460729408 585221886 322403275 716323841 345116411 870516245 163515770 617301110 478912351 160629798 254939791 872545132 575353335 455201817 140049931 534445483 362303386 665411861 483041884 616338897 254651648 184728518 902882876 308632677 941376735 517350277 502758414 519731396 213307319 576111523 644254496 628625044 238422279 245898201 690168674 973445893 369420153 134997885 676441962 147198805 636586336 322459859 609867201 205563653 487918861 715050330 205028352 219602916 284766496 676959527 734906568 502492725 549112766 706274247 426724313 794679787 602180789 697046215 994171333 811368302 938583870 644218003 653257251 135174018 247186987 116193909 663503783 537818652 123956567 864116949 726662998 590271428 975623244 547409306 867330643 427826700 144675782 951101175 427289179 227505908 841700587 954212514 848198767 354089203 613236933 794291573 873073314 453444898 598161880 119001096 402268318 439716601 871518958 695544631 509925000 869394748 524632674 139953779 172818289 320016999 808451021 351993347 689774353 192838799 913381958 642395574 346963976 821759182 632819665 341290347 148559153 541203993 483259299 766826124 348888451 889097126 107341253 817100411 286194464 508963347 667426557 246951285 908115249 728839304 483450229 439973214 258597360 799523465 642642285 671263675 314254295 423228423 999767743 644055057 914476785 514931490 540688247 776569608 216734140 772167826 408659428 104782138 564907863 105516598 778797172 703782785 843633460 136976581 524868872 640488625 836674792 263195332 249698588 742051487 417519249 377500969 288454099 807734551 684359206 178353656 424165226 552757858 518022238 652763018 808472410 139066547 768665653 643264171 451090603 408994202 352057461 231929335 110008698 976503854 161966002 624229549 162768205 697609717 649445873 799830820 515215228 134436491 604056823 715723587 952118539 687013013 119054667 552985638 809252897 112410548 202627883 719588230 543484894 351216862 340151390 243191672 478508436 323883533 983716408 334684526 473721794 739305213 914373465 815848497 134648276 859091671 928308456 460143617 341717725 734421723 574286752 582311687 931288123 390607354 761946859 835931385 307730485 774583352 875569039 773699697 730653452 468444974 971445955 576245432 923185269 987027611 195147920 772816715 437901121 168547334 471857558 493468756 201352137 116362121 877687246 178789439 270093810 988086185 531006283 555056885 759585550 100924719 673098617 627580514 509694613 584880787 121013110 628820313 400194207 471641321 621744498 395579420 916983884 196031261 103576935 860825498 971271428 440311271 984598369 942007538 979882494 244738941 634024640 158584969 279436577 799800397 896351633 908708022 193014825 591566001 919670623 214365767 303495288 922099243 783455208 602223947 688831068 628969137 205607939 680822175 846332376 687473747 639679892 665700139 977122126 621524281 946600935 479902087 204125406 601716767 507696029 554299020 107360195 745310688 473026197 220900954 928032189 744244746 345881956 830772357 709893538 884535950 759742160 402233231 810521745 935268883 934298733 457827272 735190163 982174706 948717106 268632950 996782264 623598217 212260881 889656017 213331534 904836670 448513448 516682291 863046979 766903821 129003022 289345041 333070096 870543216 196292984 289114175 423811683 385298783 394667853 341105757 757170116 826183004 637737579 399025427 523879358 375832688 259457941 393004897 287440197 992115157 725942652 592304258 926330164 366000744 217392990 344081820 903765219 118894032 470771779 676489208 600778009 470713814 188250447 458825920 421667491 915901498 269377680 437604693 475860818 278015015 342410354 570196707 192677474 326231261 479790315 790720965 121821289 768055740 897145683 944820526 348229375 513891082 878370206 116551759 431431751 226095658 913147347 289775969 981946790 192955135 928281391 286698269 386076449 205236987 408711525 672368381 787601520 253286532 642764564 913452556 314725458 738316362 619374917 872073653 206677681 478613719 996055606 218560316 752073013 189046703 393760964 101216782 401100720 140297104 162376235 118218507 443808680 323624087 352097135 331894365 370328018 944395038 232710633 522914710 802584300 954809022 686144681 674524709 291086267 311380972 922745544 658678275 471617679 265919125 237271612 247381250 882651606 648422651 437234717 631225283 401441965 577024216 583183609 166446122 702745246 618334419 758222944 974501758 588056683 453226286 262633195 975712797 528470259 813062933 487110669 665472242 185975548 572192549 863417625 512970907 551799541 188721086 454891685 556042000 771015636 681547526 299299807 123315466 683898011 521505225 952875569 823696749 692267658 925463257 539523001 486320391 497539194 970082710 955543375 472011372 539810310 805323594 995874398 629083291 321481674 812093052 793175504 938752429 849988519 500376970 213215168 591032876 824373729 213462663 711551891 292371382 394322646 515730778 860367537 525447519 526766307 393692087 995291680 214947089 898151429 734477211 615225853 188029295 539267221 946819334 371176005 235707192 746121211 358203708 347217485 674020874 180165432 698317192 974955104 464230044 904922877 569716526 586773531 917233628 860941775 369272910 928029192 964825310 427898917 218476395 411146919 535626782 511823791 661480366 778965858 474454315 336199570 292144305 405469758 755412277 352954862 387497888 983873872 709662555 310410446 133128025 943259215 716931481 685380777 893605599 330306738 947087674 100770957 147648173 320925971 578399200 797419683 612457000 181593411 880653298 909721144 457029620 560802046 682832497 810983965 290405184 293332006 762664669 227221739 526992741 996408438 718754670 988788824 580178294 149860965 780996384 972513035 618891363 175312965 670613531 480896007 411088181 142541822 808304514 549921754 102878886 769460777 428364467 110293547 976516576 743903272 545606575 512992595 420065129 916737920 798222672 784401372 661055036 711502324 867921590 305073059 480087438 427187605 378906766 376915889 389959701 408071343 559810981 449438949 776153317 242139577 682354152 811629437 324544291 365626332 989123614 661429385 444589224 202756501 400138168 870704962 805953818 458494529 379244495 515311230 357708982 661946235 987533838 615271980 430886058 273955928 407869197 969164793 234629811 197479661 426173152 528658440 501005984 964683549 355075225 694461112 556239046 406349304 466806227 387655185 314826834 246341948 673424660 624181644 368867482 699227688 619145525 465183354 422846468 782310939 657979186 781553556 106686885 120382427 791512055 535967713 700440300 121227041 774068987 675532344 426027996 922188646 328753926 785554417 428554789 134791233 200682467 317019314 407748820 997597221 194449691 761225913 126808945 809414413 425141990 548856206 703672202 961637621 840906204 766830377 709499093 315143499 701288774 546938304 276089412 786262558 278792907 545083679 582470898 957113375 857463793 217585963 128857272 734301628 527196724 621299074 752080168 382369443 353842246 311163073 914763402 389941734 917157680 146964125 950687660 126593074 911463097 296931935 485113171 162423947 130151045 543985977 441645865 715648470 553543802 439445730 275175295 289467789 179644441 241260434 316209243 230211502 748803174 261846383 324290935 695779185 739138618 829943550 424547115 897623088 178875661 312585870 889081708 424345096 998122048 172895648 930504861 511495256 359174919 665184957 135786163 928989454 866025585 850817384 389752771 581839933 704346351 385012976 719716367 878621681 940863680 962739733 347004460 509468861 931533439 702706251 304913358 203161301 409189998 160410548 653246258 701652200 296006237 470183682 820869287 186480816 115709296 901466654 990019099 292139120 522053664 453481733 118545423 240180492 948648510 914651785 716165709 876070170 259842148 389619639 202440211 836993303 115328244 638662600 394847305 137102258 919829673 295411250 727402145 388741836 481102540 293801775 826524206 279232274 264329574 594925165 513912170 972250354 941058154 666582067 883865891 110471346 348102235 442341064 938100588 333709451 537265953 939385249 859690543 721069233 563885413 613084322 326916331 315552215 497865112 842520651 816533839 699466562 677475039 202335512 568494002 587015817 779051893 497318218 951978888 512572704 823670138 782562996 446680168 442705177 671782350 258191088 302472975 950708683 814742953 356420696 371903816 877020741 977012849 981547430 808026558 632989893 741809739 492237598 288790443 285625070 205562535 864787554 114899882 324541355 533007447 129416047 182350192 555635339 240270207 133764677 882364177 775315347 519436603 988493328 708029612 422137400 867727143 747735649 447281097 534182315 451486836 980861085 513632404 204183281 319591409 186661255 407859456 947715525 906844210 747292501 535659925 456126230 894611032 791982785 933558630 288477482 478019130 165494093 356494988 158955838 945176017 508059669 246474322 308555488 468816461 255849237 491594249 615772022 247819108 994768123 101533359 332608724 612356136 687542197 534299599 278592437 294600626 707946983 943906909 871757693 779125009 777476259 938691579 976192060 436308838 778100538 321943786 205296476 354861579 112514279 218405136 641220440 772892116 212417799 997557100 593883846 133402914 296595450 635318139 741606629 158396607 292979517 741550699 576829625 273694851 873935793 397442317 734545808 954652064 279534870 904443408 677918893 902149517 996493969 596965729 242318692 389811066 938422201 889336623 539672368 263807978 469057284 981410326 276456657 337511216 694193059 213076770 747260173 807421680 753747679 941458986 600808405 945622265 372987028 871466553 353881631 328346106 252132408 969832814 215507852 709891002 126583713 645973929 546474123 904427277 300619105 915329261 695614211 598615401 656623117 410619679 122243553 900358991 503178354 274866811 783923260 447166633 696377896 497483447 642454409 443439485 291330208 735525632 197110730 231223823 897486765 555082059 716839258 657473406 362879505 973896211 331609531 971111377 293925366 638655380 458555433 427202066 461894677 830494565 321526027 894710063 977382507 236112498 785180460 967886796 473546609 719151061 415514128 904620088 861501193 134680836 279307853 642591731 157797797 806761626 304555169 567430820 579965153 152080622 941174027 749552154 279357173 947646192 200567958 262244739 119052967 444112161 195070974 876010010 983503291 986514891 185874826 612535319 346440998 956614777 806213774 412563194 842994121 848522484 928665262 835687253 594635856 982631538 935092369 572880583 116703818 636913901 144625545 573933666 252033087 963878175 802123025 347753591 670063465 374970842 343967810 328595628 624611278 895737178 925783072 801860094 118858080 605828273 487286721 521748306 835407651 627237153 440371944 463544871 422064242 223624228 247769358 803820614 734722859 154119677 999443958 463709115 624017733 227896402 549683459 390165299 938223375 291592594 579795705 791068012 295179713 755705818 599564120 740368177 772456628 304048630 972272084 183437417 856065964 561324195 330833841 215671594 627937587 823482004 374801069 230294853 853566996 563685090 845147397 998201279 285004897 550137986 963705443 623353680 270061205 837492837 827381916 212609664 434216020 706985452 222646877 938005050 458664208 202547958 272896048 613721425 185240446 713728836 411286870 121901936 947909713 658555993 124657799 703347450 513517040 400752096 879530168 876893669 223176630 567605836 769611935 509961539 125437825 198011071 288433976 585825982 949137838 640447398 828684663 496684220 613832774 315913027 342069197 665077539 215409168 499483650 682163611 184825901 929462898 627587334 618304054 539292909 179212230 550446879 545823053 998712636 419384260 783005312 539782546 363928951 820680207 487525844 106105296 893112280 160600119 761098854 391541166 121034554 967243910 281166991 334411500 108420308 585130738 558361242 602653721 272748657 349323688 570085576 680847761 356531378 646395596 262020313 248846299 327584367 255354394 931568612 834662179 104964936 263603996 204787488 714528293 318123290 872329995 930604316 111152315 740416141 728972965 897122737 737133976 869203729 885808329 700686073 364345014 591842937 797845796 679584414 356694661 322176597 370874182 133563392 943575014 340603176 357643762 578384109 422752124 924680533 815382608 441158081 356322762 286638982 826147005 220466876 966041132 155295556 494681673 686843650 227276202 199746779 974488742 417469892 344234579 411499672 888692807 918462056 434682705 383044506 238922172 413938993 513116553 660987777 661695609 761415674 387634465 156341026 983625838 391536234 934111049 862268736 643788821 869085418 607932605 519470051 536467260 827616043 335926727 342578360 603362577 425012216 816827271 757272936 724035461 302880076 492620745 835471338 985221254 383777462 822575570 725236647 499344791 560606133 411137610 979426111 140455769 498655894 699552981 322039403 874748072 893421655 547178212 892590809 537497982 363077559 330545757 846645525 509701905 373214466 312286177 498494029 166882457 120539793 260098113 946506796 976857900 732104776 824988458 451796608 212857804 341611478 141432875 513845932 549887392 311616739 943830451 296169317 169061592 110748354 985982740 886180310 109304412 932243291 219927751 172727517 129614841 741298462 823995462 534804472 407084066 196335554 120016726 253270704 300231551 215341028 476431897 194258238 446007349 803075622 914808821 945351346 745995154 839473957 369406058 885576444 604015259 714476767 433786310 887735269 277436030 790462266 451151889 271598388 868465576 685172819 427409152 575069282 616177153 943010311 724813785 480688252 884962735 822382465 265189394 104350171 589320810 334066059 902134639 101765146 842261143 359185846 647534120 793956394 661125431 913058413 700633017 589117913 373153095 334972337 691078997 156822480 735221629 284704284 846926373 903919193 528796822 807352358 645066387 239126156 575596011 938776049 923362751 178408070 615680148 195682265 517939296 629031897 371760033 844372878 751917226 989921417 204780764 731792101 297793914 589555146 943250854 558573293 593126614 948595864 703598480 527205425 401372212 721482221 109508185 399793196 712653937 951517308 177858095 876687206 500711130 904784408 382589115 890459769 901043409 921789106 609050446 421770655 878176665 541460760 619412413 418499757 668091347 598160418 931949766 324654845 199709949 827113694 228922912 267618995 385516240 760269014 232139151 750278874 878124561 558644866 857116044 979445269 327603634 593490060 582383987 338164226 467181082 639302360 293971540 223822599 641668027 295321711 446056984 507773351 544903574 913856606 168019856 604750723 315383737 645230025 920096440 894800475 634983397 825072163 102659667 950295119 174029502 644711442 305966970 994517606 283171309 422662528 993492243 636038199 540295535 171582418 189888811 328541172 153471785 637294229 659834482 344331787 581012772 826483232 570860969 508144123 917181353 424262281 853637425 887543462 285142502 955617304 231561555 705939738 274116580 328894098 624437922 930918877 920271441 844712553 665836437 423389237 306093803 442016513 603644739 185580282 584885536 555882509 346070585 398156559 898121180 848075370 981794798 134193890 737217668 325536389 983788212 677866118 777065531 150886139 841909253 810845888 127381177 416393900 116044710 668242463 520308900 349791902 589257528 885504240 615862599 338300636 629824475 179899226 799549944 540936431 940508580 728952050 204736127 976166786 737503510 214285598 858063232 787712381 630032188 346830466 693290043 701419579 475977118 601090914 701364908 493583467 998529394 225780959 808864950 914155036 377846338 501095162 397596958 888057646 353153667 118075748 187463733 245505692 252527956 491703143 660921794 982227751 324988982 862061290 357910067 323273404 548998838 485704580 374471257 661640416 665484054 965129497 932886601 248419027 954562545 476160117 334161683 905805630 194179921 695511799 428055739 557739001 377809461 445334532 230006875 266306917 590006643 875639140 838905363 289154544 419714639 685289033 156477579 395503021 291999567 252877700 306615246 621157954 461307751 460565213 697289407 756555019 625062406 408364179 118986717 993879360 341645932 972162479 327187383 106742314 562548673 466053821 565510684 894586428 808348926 383742536 979716732 600903151 462499131 602086130 533803441 735660070 439618297 744171296 306051145 425014697 766167622 754619773 110354755 710791014 309208466 769233107 255282973 802287531 265603571 536187617 885483200 860815279 865353270 692998924 275212669 160942740 157972119 492493259 701105417 309121961 444617174 503679052 630415864 161944406 532805877 344202688 615180403 494974911 147305672 919564870 469220486 985427585 181783568 129707840 330819280 923039621 132811660 277172504 941510764 378722995 126953420 359758600 899554895 541611398 897963834 686267616 933914749 924583797 744098254 940821263 595831363 271587975 586582708 960216305 878648405 797015641 112317036 749388305 355506893 555621770 428168715 690158496 192856875 880935320 936474039 162601559 832824391 158635177 473908401 888626164 189134346 955965337 503458303 679862188 691240928 136196617 671028626 755377877 484260879 951080519 720507489 889715112 332702653 435700013 561348675 478306953 236899145 454743967 531894660 564253869 820890955 980717475 433083179 245247679 124745134 641727698 606944355 475965731 453525080 214934815 737413048 749522406 929349200 712146409 555897460 164009079 131737167 542044637 964651925 190566929 352852952 343113168 831156972 874634843 187662287 744841150 791220604 277935044 988460932 462009361 288941005 221549280 652940035 505019789 271355215 391426342 903395289 475204771 778114807 974529762 993637045 760130367 215629241 579449887 259883058 733257443 659290313 346850073 946669775 987665019 461292002 649991854 349047111 668752021 686318181 742686059 310401313 905656956 775068424 234021582 569286627 874287483 435507662 881400692 805785772 365077387 226229366 682216732 114302177 318744858 223284768 860050930 759586316 639429992 745763162 245094626 395139835 758122492 251681861 216614614 752129146 643560271 364235355 466685845 197741436 782839303 183464338 922328995 331741133 408244915 990143269 234149415 531719366 722215240 130745977 918964347 987235446 807921464 524151509 377089006 685615552 213427154 205727744 348108936 729118099 739551144 660977080 254608135 227387064 577404152 203660191 849651146 670697982 856919463 841259945 128923933 602108001 572583995 698562861 772006062 299086248 271033040 826521098 492348699 551158659 908053713 558109364 606374384 276491652 114603605 637556418 519938328 958672088 585416615 403046807 273729995 691867026 594552787 120738223 155481758 809374273 499533571 272147152 559259017 496102094 443071214 560108909 883249608 758904745 149473750 641465501 264599636 550057505 496270312 347832098 287794022 549878377 605756778 832437291 729489863 188089609 474761515 114972097 655841932 937545373 767834944 564578322 887224821 108031918 804585094 956490218 992860110 326411564 281913269 674222342 856218102 182173567 562539323 872587026 233868295 940988963 625891677 294119196 886458753 573180441 497429477 736595461 564694295 671872591 403930972 232704606 717891464 454737280 216392145 861298826 142110156 105797518 391008335 490004122 234299770 541535648 705290151 601974515 123339270 603048461 968130793 285858759 621581690 969894921 250479236 201464581 207690515 597503621 485694863 468611235 817927246 637327213 666342305 470773134 669787319 910603192 424931887 205175890 250360537 757603102 849395444 928754890 835950324 341426931 294999285 323985038 585544406 433870089 936152498 695464197 777487209 865813316 576522187 130440649 226595036 677088505 835896704 493651345 704878168 274374326 375579885 426451825 114994128 143819436 668449905 589684326 828169201 649343004 478238844 724871126 280291984 403674508 436058050 119664139 939266831 363089938 962970004 214193349 991406528 600402995 780806654 519047752 697702451 369673580 296298250 457395755 286460488 944865268 569981179 896209294 508455829 843965659 251600854 610629993 473521053 519538079 461844460 180275280 748314475 881889855 599332731 178140325 698112499 532783480 920601986 708423709 242510551 344322327 748784925 995154668 713581090 358479683 324219175 461327434 354991231 532480324 397064569 908204645 483709344 461063210 251936580 681985360 296873567 482561951 922109197 930770261 982176330 801500743 829749358 444935135 897079794 943669982 643404402 916818307 873316095 307784993 900494068 821406215 715222202 758181580 494827100 660175945 129209256 157102141 610749328 633019409 915919354 305996649 140871623 438847441 605344336 644679626 492516214 506319050 294328797 369378481 902812594 625833688 505690158 651304956 276675573 630781883 169046194 502982090 965319908 204744624 611123408 162669971 114907210 844932412 817307804 898457345 836016554 763040009 273535293 306510611 585506786 275395375 341913528 143292980 744340102 961752672 196479796 271587758 939127304 343843674 106591283 514818232 165096870 728694816 585083879 281591140 153967731 814577208 985206437 383138413 519087840 292775422 317402577 314775925 228750282 686245127 525636733 206084198 193987659 763567469 814635606 280420955 668236668 786397020 283754458 253097960 379542518 172550472 555122128 117881636 380453310 800625817 387947644 690505059 618249328 826187695 477110723 920086755 591162017 123050098 116940828 932851693 128584867 332828918 167672154 380802291 280518327 346979179 269377663 454297427 356248726 344059971 970086362 756021062 935010961 718563335 835134909 698215714 848948469 271441714 745198902 145358498 965323194 557201835 178228914 998251010 292660193 909687761 930047754 271747116 519630878 755418323 655611383 551031271 346312525 518771354 396082459 536316303 250021750 688342297 452290141 466559763 495971813 822288174 294512460 437164773 960392779 942751712 487617358 563073518 505234518 651590895 840186513 158382364 115120955 122979852 795744316 377580975 302641353 907616640 460743258 106760533 116384040 822362983 938538492 481230547 715160388 304292644 528363806 975860150 195722223 890689475 540388465 917164696 998070708 234984232 247031137 445521100 864902400 103049074 230312170 473794420 942153310 137172777 540346265 562202064 312009758 288515948 808335225 898760491 936661362 638024871 339747876 790591513 762914738 950275884 513113477 583738295 719098300 202006122 458841084 223709152 426391510 299299282 477299190 688321809 747170473 460168958 189215753 620882801 828609292 508411036 945922635 283597553 493763732 652360690 435756626 404367280 764844534 603976625 190353750 264838777 521267237 604243735 952061311 727794577 273930029 200075820 220135921 326096479 356108034 640006467 800758300 390847571 486119440 918074124 567618539 259968438 792844027 305228118 327403285 738304861 502498834 470097220 650756877 423892734 417235450 164854756 570844543 634571104 938860328 840754184 569656219 418294777 632652866 923407503 776781848 875756791 541448307 731221711 455648018 649055802 674979948 159866386 740407807 841912305 717010380 923119440 942669046 466029290 784500087 534721199 172674635 746019719 915452248 923955559 971745126 368347383 780012812 266415517 245024337 564295561 650678092 382272804 405438827 976030962 390849113 742308150 308793960 356314479 506545802 844866703 338348053 507071197 333495921 731308856 930193691 748338542 969426808 635110568 568294279 946998284 673051271 827435728 370719024 559690394 791471748 190366135 634123683 310347222 101908813 749764391 277955258 210730303 608407850 111593186 469456510 218543553 783635833 935272470 230630604 378834930 230618483 819576413 526856614 540814620 616575076 633903115 962066112 585472285 486019179 765922218 998172389 929881808 259697605 425529421 607934405 225139858 289611240 500732469 439277921 269325717 494220116 885287139 294356019 890544039 506305090 624727147 112967445 573763526 452245950 346006052 211652300 289062930 934554627 294494787 246796338 123528973 478255519 756289380 533043460 466787727 614624531 476523939 379332633 541621972 458158683 290381962 149877371 394374685 124654799 913234043 267873778 675535679 508056274 885868064 990365416 576246319 226890450 396908869 666880211 855450848 355611203 953273293 587696658 468141988 433143737 155362008 613916559 368797283 242364253 190218454 107478218 243654794 114051191 131019987 908922243 240569502 953450533 597480412 522127969 231330605 438446166 520389306 667416769 777581261 952498189 265363991 858690588 303854542 668556879 952471857 688218045 264888121 183507963 499544605 734268185 458952350 913829179 645598408 238287698 471459662 197580528 933706078 460447429 350447668 833228330 740649232 554471674 163279217 602522710 775271498 516165668 800339264 944627710 428753526 702678711 279517495 620795659 227875789 367787575 844004465 636798183 674934660 697495814 328072269 903803489 814513404 986898376 482608035 809854248 981038724 195097978 258398665 149680015 367596728 222542743 629924766 526706681 663468791 964918205 517201161 303926312 632144645 307087155 364086543 282494114 502060149 242054180 600710237 407045928 544074985 978047233 840262344 398980576 511003722 733248848 511403234 724072097 473113843 451942168 392336079 227861978 321857416 493169960 134139560 963095103 813351537 822157830 649144583 312097863 641043047 379603211 589869427 442919721 197661941 169575155 693035884 982311062 203788322 885955043 880738588 921876929 919141891 866342213 382136812 320139375 328331170 422782127 522022687 356971406 944650232 896292883 684115135 389642413 627215193 288019776 813029380 842252252 128639855 876021687 737388267 676612764 348526426 510302066 555965190 601946670 304174734 412615706 849391550 213310494 793009041 234139136 263315319 931634348 943479788 266650200 475166667 793313244 681911018 417770848 370797956 724220522 596558045 318643244 683128650 502748596 610506804 959712854 848115044 761864317 323662944 847687247 101626565 312468654 917734180 986176614 490335680 618085601 515233663 211013999 615926546 652140642 762269353 117558124 381784705 534906268 949861403 172092375 420966300 179270518 859017021 534641806 429644546 672275929 201270821 953572217 481567863 561533275 301794793 946780211 557563469 584699422 790073140 740819208 149693677 688924848 184570149 549800127 684396390 836167080 478211558 290089345 923006701 779331637 982662527 432036610 270960990 269513128 586552117 422851868 686110927 830186736 132080141 565459301 442182130 989506445 370626317 107128169 328116840 241448545 768931405 124523078 813627425 597354882 150947113 777508696 303476010 195000721 410894985 811448968 908374082 288354840 379778379 317278742 261073268 670531407 636330149 544507550 599921460 895689095 357080122 437682253 822094289 856158516 866019764 154361219 414384674 232383422 228607505 856232402 479750532 254716112 270653141 598595464 960856959 750435107 160711349 516652579 796473589 391031134 571489345 354367232 506752428 850295061 158190382 104684481 631727492 548879465 556848985 313494601 946238263 781317167 197189782 367700103 786164989 719787906 866061017 384384456 905078160 563512775 708518922 454093494 903286075 721741581 949085817 845702128 902033388 712178158 977623914 921099649 254038051 537012555 483332510 737528768 179919618 224627046 613121282 701403953 310235517 975040246 906301221 628298306 472962793 980804069 440977893 573259919 979136835 427133573 790502962 234496392 654197350 973618193 162580645 828408273 390228380 565943323 879707762 544410961 586910713 916044057 701207092 145007957 412267449 786797837 205286021 799377296 745111279 347908487 824508650 417033811 489956232 452658500 247858421 523719498 860594994 967710086 299847892 540516877 753405238 492825127 948558229 275759507 486480282 392408769 372301404 827486717 202235404 720046331 434761689 578621150 288012132 259608280 238970214 278859313 945539465 147087490 175957818 365970534 872314801 446584911 277411148 272912385 120131526 752141693 592206638 548239176 808128212 741065685 694797564 877706358 499981580 778686376 400678102 269073415 348211062 965617246 105268300 969605746 735187760 360867977 512737666 783922572 461552878 620429290 922508899 239194298 854384245 689377606 771500187 970267338 771201533 908237090 634834316 255093861 928182444 578508753 624387088 324485187 680466030 692127245 476183308 808821340 687908425 868188835 471140887 358961792 535351665 994162531 871362676 253079434 918811224 811682225 147428759 165713190 118930267 608821928 190905393 786085542 830624258 372995933 502386495 513353425 204522593 736824261 609883025 836497508 469843057 233155945 182041533 281833735 762648221 320409699 561389948 837694828 497835444 130587925 804983973 165555471 486093415 485198673 258593273 226569358 838206487 206475407 606491522 935941931 653520639 887931928 492079095 578370005 636284774 832612496 625089051 464323921 242467123 402598136 459444343 284936882 232151504 629000855 720990109 157487133 217682393 638747706 586370646 525476056 932718276 196202206 748771926 677176816 944666642 409928317 791967132 356515462 394313056 911338210 167927694 185482800 118404666 653673703 188695412 215936399 744395910 122509570 270254641 628542641 845135614 757012398 569159919 217044699 721567345 220849444 879903097 833381789 403163300 333995929 783273608 665881394 499443347 456604264 530037076 256694700 496908348 956131576 556979139 173385919 873111069 475901512 820124604 623532794 853513704 572657502 800603675 247285416 807011959 739869647 503229574 732354443 660989977 205145225 895956034 643531846 670415913 868965771 276900729 326374815 546957133 294876072 942773649 383627116 442833546 934041504 913233468 517009910 529011725 893013046 350695698 758512610 625013472 887679138 801627997 634161652 865732778 528001305 329674276 385451031 761887548 171323596 629726707 313853039 102392808 120958191 320442052 733527069 756404485 903188102 427306575 631010451 424285387 212634052 830158697 381762245 605141357 320785646 615608962 135995642 153055827 356681450 906070006 147324790 418243476 174279678 929001006 314507203 429259370 644438042 578275595 630309467 634999694 423926368 295509084 872713782 399112483 822473307 702260407 457934634 634679064 318695732 273619566 957001893 389594681 635629966 492551475 172675255 195732381 442417746 105798540 519539802 688164127 540509596 947232702 787091381 942664044 226350433 271099715 652658526 114553601 340362754 429919827 556959268 500727017 322580631 111461574 322556537 765276893 113398013 904943823 187523073 263099496 158255093 576479817 571548833 577701100 926979080 531181528 469618230 823414084 911826921 513084310 666086358 362871487 757828156 140173252 356455329 878602869 739701503 755698224 746446680 235615410 806819712 559952684 923281542 807257160 536329155 852071947 861358203 356808187 876476845 621795279 440489825 707231351 694889284 283422433 260879766 393020659 463333109 559482371 487445253 161912329 574642722 379169902 521613068 654773866 998913401 786435538 802219332 636736557 452244783 691336779 873640137 230464376 238593017 839084571 214981874 244453727 140854272 673191600 984280143 384119785 166646065 315117130 106539251 775659013 983479042 172171262 201285875 226538006 370389522 709389919 665956838 992614947 800940006 534767050 390570285 136233441 173899545 339673330 692629258 949800950 579882797 181734065 708734665 265777553 151177194 989823561 170150056 941445137 880071277 639887180 342014433 465621471 668430131 418030593 337086635 868370596 499617795 590676349 598908491 522627860 767039257 543696367 444649048 306102947 437982205 858780378 134772653 246701743 798859665 545842832 296799229 664049581 911185170 789521033 873367322 653047143 718901358 950471136 400241528 758829381 352311526 311350023 447852360 571061547 701439941 694284588 614702632 815623837 116825063 599304619 186008578 535559149 110215204 284857140 999254696 365850656 894515806 115834866 826500937 518221889 373597605 300091876 737546147 515793815 852616641 513800196 309391352 894305716 998035574 897806093 578681902 811875311 867187911 267922047 189910564 589403828 857189573 831112878 522737538 958805452 863952964 781784153 248311094 886223600 503362079 321585829 987022439 180663739 181170007 832737475 175311782 147724274 731297375 857859276 853061624 556987196 203808937 288005365 461764624 492048630 227308383 638621523 892770899 370514623 781800267 662256140 942406513 359349858 873295214 939753475 712487553 142478131 339307446 981536434 542607868 862032892 460213175 501506960 549132088 500576438 376898559 448924026 352145853 446966128 693429708 125889924 218724533 563962690 833810766 627614092 243936794 309331139 516609931 736338353 921872053 304952171 645257237 188327219 373677667 599986088 879908422 424344790 996780035 900245168 323387165 508413633 357851021 949209942 671097210 738953491 996307437 995048543 508914859 688237520 483087324 931127883 716324971 324110123 501362544 899448552 320305000 676056291 116431267 125810911 467191427 464836186 887737256 194620306 747602126 340557708 435325268 747164535 206488990 841258153 211003984 541315851 796557530 740904973 540066749 914932905 156999063 804964558 841078414 235343888 249778930 285691377 342926372 542386625 442948376 742893618 582267236 441408977 966946064 188481375 516931346 776511750 518904055 799865322 958685729 693193784 991499155 138359936 610567235 153127976 591806693 497463983 149711487 972524276 595559419 913846235 254651295 424079433 767265428 662524706 144235310 236295809 508124171 963177396 628338941 227621328 970052613 698801150 675400943 836197099 513107104 228066027 990912782 715653335 761912398 744959533 428223460 248335759 997344836 215906752 644469341 113551426 612047543 273909114 939991809 218544306 497855635 486222888 658956798 206998798 520845620 272485483 800594000 122761784 608368017 835272433 623154334 538402151 151482706 344074945 410876431 558417622 364037306 830376730 969302494 848004551 976146126 270143311 135844833 709352050 938899543 461323173 760101011 543583181 743520302 651324697 440188848 203197818 715369432 671419466 839773123 667393282 731538452 149761237 556733811 969487534 460482129 927585713 763425792 515629734 858716555 890280651 510901228 193073517 668035131 989639545 136717772 826462291 896516488 190926253 519762285 232287892 531022570 425484756 730275351 405235687 389183356 679723634 556568765 547260643 260556862 147662042 852164646 148887738 185287731 184698234 316167345 949709020 287375112 258505035 289501316 713961809 157104880 346895005 584525269 396254375 413654858 818419350 811502675 119836305 781039720 485676914 926018494 520433485 484231973 713537186 454124886 502831198 735969114 921307456 227011362 657458539 545250077 657345120 843056517 855730924 344095742 918675050 180762000 443994565 862088779 135135056 373487600 330643808 970995582 299105018 369082501 591278163 451824808 822998468 186802834 195679276 822971939 250656200 524784526 448825344 155209822 219683920 838979065 909566915 962283106 700935985 987278567 466535652 601363231 938331182 388492052 678277664 143100177 794941718 593416938 901666791 650727877 560179607 796134997 430284877 221613377 423609782 630320643 254094230 911704817 305794744 395853135 477656852 187910569 136696339 247013251 614889323 897155058 310918546 584250894 475026901 202738785 201738989 855808882 436245558 683565936 165916929 680366024 291181663 173154222 101269347 155900448 201972670 120940002 137972820 341350683 736934994 194938675 281168373 868641255 211425914 695263227 663149211 757735827 452338705 978634009 727917918 125174789 444667870 174234053 402899823 294713257 476561382 176136861 217963523 810123343 125238284 980749473 697751057 761027019 491697605 817438932 956467124 936647370 303062368 142205975 343377977 717274937 581270006 955903573 192766736 291688273 595151569 265969973 955170225 179898010 133978958 498192322 440003909 646909423 636850943 578184415 866569392 564834444 433732719 963020028 429629023 621220822 666161573 876814559 323865065 115392844 370332738 454623036 852959865 753295425 702433058 608314812 296796656 569822069 339210317 561637157 507827768 542620275 683840192 358920593 869494725 723214863 492640638 385276893 237321652 795413638 755107700 184651229 872251172 721424992 197678183 929822151 654548926 187721463 276187262 465590877 612793588 327263112 682898033 904715006 431759710 424297118 348301115 835276417 459433679 803307812 954346647 333398991 986990303 320847397 398641306 527266788 546841572 103404057 744112209 123431216 772284272 543803596 129854895 417839759 241214050 800285481 156316246 472995901 187407401 150480558 269314073 189592646 102737226 980020158 498651252 248146719 304463949 399128141 397291425 722955156 537022612 341285478 515617825 625256271 122170807 315685714 302934898 588018286 128948448 894072465 280786546 812098406 168723595 511325539 532735928 344458335 953716592 574858318 148845457 296343042 827343658 699667070 659959926 120435428 658053069 971754740 907227670 480587872 282483435 130855824 525460171 758840985 761095653 856512535 813108782 905733322 131785468 992591426 755581948 972303558 331797251 215310641 992976281 451394675 814754642 836862193 919476631 543376329 152897663 346870593 717824507 824496915 231301080 116819250 888084660 498694758 570931837 672628809 178849407 478050255 236270228 745029822 154962161 355622546 540381197 698835989 622340442 323734244 885495195 408640623 467935015 182816483 550911646 880554009 206350004 229834362 674066591 223875193 424944042 369398222 873777711 144340717 695475703 788738745 614169800 817601018 456055087 443416143 757047006 478782975 380119011 725812392 872594907 760398950 308888101 675438532 580855493 791409903 612395653 927422216 314875233 523899594 779597283 357695304 113625898 910368315 296313546 100562520 561311469 734069758 475357057 718991939 688236771 379647339 980102852 795213195 776146556 103196753 754970269 174220540 424658012 837025846 883829644 952878668 747277271 259703234 467778772 688506828 404943103 715941431 937519982 661540956 945570561 327795726 756520545 855411013 928573738 237469757 424620456 288861377 273974844 197457555 957732764 959183358 256047944 761531050 141799336 142842276 962166714 365461036 451127427 345529001 215625818 818245589 170486260 327953199 615299258 448374221 536429078 926746412 567361577 204701341 467756156 241725877 361047107 804744543 374075146 624881577 642640497 209996132 467748340 805989571 511955816 413332272 140682603 496039153 145894426 436064316 572499894 415978209 128422725 614252966 879396446 929132723 239968760 845929420 346978661 196653483 567596130 866037591 183025905 506351804 909900277 333457796 186780132 439382450 714965712 403159958 524110321 230694063 275703254 677598681 701181402 858589961 408988831 408480872 716694324 293047006 270855956 838986918 123087505 196558397 356052875 973246711 163811679 635697243 948321551 254028154 693047641 501822083 833874152 749043617 300093737 852044442 945167436 745683973 939535024 550238410 110857195 671611296 927870986 792573709 728358952 603576099 929688144 657146767 459257225 925339230 775632906 581860963 561376956 842911148 402292363 810538687 573091600 831425797 258618523 768616139 302168981 396170573 293199440 924669916 960112344 123041502 363037116 174181202 208614466 379994564 742510265 340063523 170681838 988674945 149615313 555174195 666265382 173851734 253429293 504813647 993006349 774344955 392388946 793124743 835255704 148716360 463022777 919568113 921239833 970192978 651389401 129591376 249713617 886052172 182722999 715979084 390423602 816662654 248446903 968667957 594610959 853266019 182905186 940663529 893171064 584020675 722728295 994595950 576716507 350993285 986967529 587641357 986058138 429503416 215128324 478008752 301634452 811520269 360553582 611236633 389881594 311733176 333163526 406236063 366362135 480660258 370741550 581337987 887195805 671094499 991440182 448324820 421665757 353947138 969241910 321311826 653785722 494574537 814115284 410684936 187486166 376156434 372293802 814658138 954452006 840030007 378076688 573536119 331338006 673914554 881119568 392229770 998678699 560594735 722519450 592403527 663067467 838515340 101677403 591863913 213778651 664654908 573797696 433460524 266922564 464337919 622741696 405977324 882085542 395321195 394130048 692840396 377283290 118897565 936197376 344052568 341074060 770107480 484387009 107918515 618601314 434897487 246223984 680577206 329685982 132925097 331408348 961418178 152804405 355224165 695779340 441520091 787099218 437114734 370035784 997609563 530654784 889954844 969402070 426903486 355075317 998483009 788525210 663089619 658540926 753128134 281958754 363964512 149833433 163232983 568148096 704941302 600731559 719640548 811761958 480954773 473137659 223664495 211358253 133699812 449672049 802316507 924959297 628745096 462726482 715796762 401417920 120499914 160246818 544203068 796969928 999296314 804798041 256027475 463129017 889567746 551018471 458080187 747922276 114460988 259832728 237407253 651262874 514113494 678648869 169278111 425033763 811812610 609540234 876968519 184383152 902699251 354674529 347350673 782690284 286328166 516956894 456575762 201431243 781085419 558880223 931621618 610864488 791104585 982211080 926649208 130850813 320253353 683241633 256277261 182888363 717074817 841691700 211874999 547719425 915501797 451297129 111122961 726245925 804737635 619404173 332345749 246171037 921550404 977331966 116711280 549849715 309059220 935709052 467222926 658530130 868627816 531646688 173642966 490801001 154691652 198528357 289168519 975893244 958941105 815328684 952106550 669008258 350338414 809701186 437193662 763485452 855262682 239737502 359624464 884944763 645477262 607599341 737342850 620676642 615010853 698575842 939775244 123108467 407664654 907877247 253887523 679711364 519166760 970173715 759264295 792456962 384648908 895331806 445191257 958380036 401632362 913266030 902740564 378624829 552579504 888545933 237143982 359691916 518656155 760618352 615677264 485593643 987296943 535972017 233317126 806702514 816889899 200147188 124529478 337758023 338458205 461144540 287457519 409995522 159552634 643305743 200277090 951014225 386597898 241622743 645227826 755667187 321370695 998898853 827239282 355226759 578427146 808097873 453071162 402926661 606387881 340230777 453307054 650909248 710233353 144568985 918798108 829737237 789399532 385229439 315632461 363525600 242483396 144821996 625603922 380831958 138058135 546850270 930785592 554485692 912594759 871458877 603796123 570102097 325688542 613315544 331351713 131983900 134558217 249559234 908680784 255160977 374572695 621727603 856486429 332399472 322807121 690866653 472489917 913772103 763237506 584961261 564272989 361904014 338356053 275000940 648496257 815307792 587062010 519073119 821348997 207721992 872571687 118612330 266251127 312120948 785911374 579658278 254601517 763100612 199771917 940704705 201675196 697677121 740546747 681457100 630257965 836077384 995663593 961655954 816283450 279636272 972485325 211643343 268755932 709131207 795909470 877856757 487880476 948634826 878851626 222641657 243198884 864750266 827002534 581271548 986281187 209210394 341522753 123868089 854001175 275202392 561938812 366346684 913915881 979907492 598870018 667203954 941102882 610244596 864864939 939059025 260290940 139321962 442363383 529573382 883519593 439525050 561987697 819254132 510843321 319740312 599896648 662775094 228124695 982167044 101198281 643180585 247371170 925059629 107059470 971621345 478678840 152668602 835697653 879401817 444524055 694514960 466197590 538583467 356259522 188681044 913624443 357359095 646929865 592740219 300445303 533865297 208945482 112654184 108899734 133778449 551168431 203820140 705925380 696352093 121522665 908937171 828272289 397253616 408899944 848740642 197710502 158183673 946182111 391297293 959868984 269193210 909151902 510784516 596179090 693216255 174852322 819138920 465084306 319793139 380033656 482089206 822572021 260819655 464320993 995831425 523736672 741897929 388893720 163219037 387612919 901213882 681717255 983977995 311484664 663582883 615636749 550291802 596676712 264505052 736132653 724725319 715977687 742670114 285149442 376391669 872002016 637390761 522265317 111493086 983831365 825534906 633257750 852654788 434028133 387223127 400534525 365410493 268892145 244492299 256055043 922623108 240827681 217845798 760551311 538301899 751006323 601463253 950772741 125329975 955256867 773193828 900655868 828869154 207015652 715496001 367021283 890329536 918913506 154877304 652931586 753137753 735347291 323295935 596666112 732314926 457734173 316381087 728470013 279940246 410538088 166381033 579812066 964131348 358685660 255910213 196571714 303491638 698852964 399858939 883400851 886688789 162485527 123639573 344040452 387880429 732948145 454585969 479019554 315945207 992556678 943841536 488898070 128841988 243709833 573609604 755667268 867104657 462718197 439012131 527772414 989248630 989936833 999699212 407973357 511311051 942031191 478467941 791689909 558034180 455003981 237898416 560705927 471800935 182448877 828451681 182392088 647057112 580367603 155998052 191442050 440670076 560470418 925992215 294320131 723658666 458830248 191164162 283720931 556628675 425127985 117701292 766002541 700186509 281010048 600130532 502898237 490242909 367907054 542736545 667137732 378812224 866150923 159794123 720565031 197528088 498687010 239750692 762074777 469836692 985933747 943656144 907335398 306908847 661332538 552849517 310573043 527753917 305990472 517179636 160432635 484942995 295630905 140483651 984894029 410947232 371366867 407397813 646065316 909646781 247330468 475349397 971948208 900579951 598232249 538091895 297311184 776084102 990291531 856744041 213982413 763642452 984563150 263165159 909715678 372496094 192694831 428887875 984626450 412949966 499577496 322205421 725101760 642349312 123295799 589750536 662147523 901624605 516741461 727600443 272684900 384320145 806106809 630113470 761796742 240389636 378519946 300918599 821136893 753564236 248866101 238935774 344339403 167422313 384137315 895981488 299047569 230793622 780264210 997224559 520357055 952580658 718232974 452131087 153728768 776856391 626446159 133062948 228332790 674291391 214710272 164873361 722010801 423849394 128710022 794766700 108584973 720214423 682903008 184717262 584699296 985157790 517294748 788089859 944503590 786457456 174533653 655982671 226192579 328884501 752119032 303849907 232158674 535363592 597254200 549213449 547065963 935002195 891306411 637801026 846059232 270344848 679986659 576981580 476636048 719572136 687943542 670767971 691348237 402964875 132230779 766599476 661928290 184568482 955549590 115696634 627886964 509371179 684480910 929627119 425958539 237970085 197099093 315136184 665709278 200703179 437071324 455448015 553367989 114418337 408828691 829780372 521495871 525710794 272394856 830340837 634836898 720091718 891475725 550584458 183330900 311281600 426514838 406566209 400620939 579445644 388897816 137379221 374161834 848696466 998377367 181386652 197343057 861248722 599486515 878138164 709219026 326950341 129397385 822328082 708770529 528712695 396923283 542027407 210706270 583505828 912974674 522938686 809157979 129130676 442522743 284339710 155713755 194573785 459501811 404674359 764833764 702645655 294467000 329468828 201582052 771879908 873987670 308278114 481274341 161573920 688532883 662539295 334777044 846225325 769535681 392183991 749149668 699192459 891542121 122242893 245440922 496913455 362631941 291306262 343047106 417099947 922061876 433838811 742180844 850090007 954776613 799864545 438745120 106198914 320081548 664498558 470379118 182936655 348369891 502656551 686974745 599978209 183931781 618297269 614282765 442715392 582557234 211772376 748599226 202270930 735259652 644347471 645330591 257393338 570817149 901718592 755084208 831295922 180159541 519811859 116280741 600847908 629559285 268215053 486523295 180112506 668926650 403079734 431122427 527465083 646332657 862555518 415068028 689697411 474439118 671747415 344115182 879142447 985630472 661664307 884793185 888354982 402382751 945038363 709175984 393627772 585197865 969133131 993222780 911776132 207670285 679070475 342474649 212398536 513808752 376403192 556915128 614009226 683405677 395646644 295541441 913460339 640618944 690534946 346713095 541628556 102504264 863943159 710665049 448940612 598651677 191589397 681670006 585814196 832521185 929476487 385255403 702485451 874348108 769346635 384877247 333753410 682996666 884210058 967393248 383575957 146117270 556697057 164070656 316656481 591121855 910387554 677475539 372514524 794389610 171447504 419416025 381223846 610693276 682814108 674670406 704625221 234492728 832724971 149658948 960202056 946036373 893947586 781265351 513088383 442902367 830769311 673688612 211405310 431821460 249613481 956612384 282289356 803705323 681750273 962661727 595081133 491390690 498557927 926189034 230652570 392413493 506964333 147984079 509772927 273238426 133980952 980186423 606893911 166238530 648964015 513238826 880618445 856278460 326866033 919081163 312670895 742555541 296603990 845174504 384082743 886211165 501929328 503663081 966818302 833993924 877200406 665138156 476476076 926457241 460018096 604451348 492794594 394442087 960767460 361932792 534915073 376964157 610242854 973046819 679783172 943800856 614701626 342578805 330083642 288865226 804271572 775342761 591341434 242271973 331745844 754631965 254622121 391266598 927162978 872288825 414670789 158987080 668545645 755251274 922095148 981205309 784862824 723054588 514318005 538758924 620993592 596969966 230297450 717158763 816549582 156330642 575593804 349089505 940867356 965272806 625780725 371886971 133571960 407122100 754744799 867203459 475245542 115180860 570870692 670838500 318646324 368225760 707446978 159548867 968130782 699828496 854264478 882991576 214751995 506450612 402618846 776249137 900858397 332851646 271568894 807593518 629074086 697555721 161446271 257615757 851231757 371991026 234112869 210994102 524126077 200296143 835451724 411537631 576302149 238387102 221835652 317877445 236571969 240749414 215882759 126704280 216264946 150330080 201299377 732376774 781032003 719580879 910007290 483288021 162318517 151493892 844508534 672087894 177168450 108205911 979245515 809964215 301028341 589055751 992847113 295426387 827533255 295186877 706446828 362667235 602911805 597591409 141995341 304717595 406738915 653351830 623872093 838982246 735633650 332913475 835684168 273966125 331519074 514485745 740651085 121700386 273679665 993380199 559641547 771627663 476824024 582323361 668568329 840822311 509445644 309705298 692045757 533287763 537309562 258573308 566152098 343508547 520123144 951433555 886114961 807175672 779261031 735964777 985969351 584146966 866181257 235995021 697755172 661166910 952419473 262516415 292695077 780742297 651111282 256860147 684051424 724224999 728551228 264390951 734038573 419430183 863976781 858084316 779210651 172601647 321013084 641151742 446433241 766140657 356423455 543235814 272815861 692326181 828138473 823539270 757270088 174247063 726135123 596860974 448152943 779356855 601670057 727409846 974920677 336334185 887161447 451425480 744727758 731210869 148085171 322427287 574072978 294910866 160222409 531022040 333979325 665678947 838149686 548722060 989935431 556271244 342458663 388095690 711996548 997233964 477769050 644323467 644678116 466521199 184117889 155901611 894259772 103330792 561458997 574892677 200816472 430172922 247703388 590352027 768542559 825434648 338752513 640683284 484211549 137069562 582179816 235656488 422493288 530507089 849789761 614019890 487559675 261132597 904960715 645104967 564325814 103632135 437820663 399851558 571665840 242392531 115488299 222642527 501564519 999889328 308419315 819489525 794346568 315446191 341914627 841320753 432893273 530507275 256203482 189228968 489416190 267828267 508019469 444786316 788018024 996090261 438474854 515198109 979759554 191423193 175199249 593650788 291172262 228199954 724261066 433495082 174907765 807894102 789202225 516083164 317345611 538788554 461466296 273662356 705354586 274349492 889376633 972185916 907957296 283388441 496325753 439535426 267559363 697718564 989171551 227882910 822687599 566592963 508872059 815461913 713045354 579979697 703111883 791639644 117927593 462361201 679957905 341096965 128330272 723339780 898164216 134558267 128632299 848410329 140401077 328645178 172315809 785034422 469573722 360840922 893439413 630859553 377829112 973597032 608410793 406540270 328938115 354114312 637644424 357341060 395237539 830397509 764166157 419788901 256793524 720399647 976625227 638601063 686746134 454593535 767286352 784444537 883318333 540644559 854389345 580591888 407512800 266076261 900511389 418645441 526499885 805353266 743350512 711400355 921196986 978180005 331367179 770614544 853891884 744313868 221587100 591539273 921459854 198629160 280313288 438206743 352550508 850691742 547131901 563230954 763142699 885976155 921468241 801219413 900431223 964394417 309336724 585700715 263412008 211668436 319021530 304688765 352283569 266781147 788006297 195853209 383222204 483414662 397520499 497976595 392039517 849566839 552374402 688600166 995703543 626639361 347870555 765992220 629952605 983682332 290050277 161372003 142387546 816771677 283749792 598396903 422849554 859903034 972550157 841409478 523135524 443709968 485964607 232752436 170937433 630838053 630565966 319698868 361947802 610923869 384371546 202646681 167904046 217927780 412933771 313566410 361113275 785038315 863262835 822318057 624903340 319332183 458916851 918682229 174742129 727255345 200360266 248305310 137376277 109367818 519782504 221912459 126252252 252970114 675337205 196918654 759490295 913524202 859314914 348534887 278874847 650021932 360668412 755647183 443081509 659810389 551712491 703046418 880419444 609569630 464099667 856362890 463342938 156281652 620661446 266252294 175683564 741739943 550241009 964260571 306694333 674595415 166551359 702739509 533647271 670604607 177669411 169942627 649212683 846430133 519766097 422695015 953258092 898809494 919655798 603841738 156268354 860824976 913334905 976653123 783134131 271390539 661242083 241184790 336973665 674511988 345296612 716097418 742951861 492668254 138350594 811730381 217194019 177754292 379503886 930698707 129740926 241579944 300760430 228359784 146022560 847865426 933554840 946411251 646330326 562127281 253940932 713264588 702223011 596392342 117605028 219125138 659872723 182007222 798662536 261433553 489651878 199652200 329131638 673217519 845077806 104683974 112151824 123436252 985964843 526991987 263695714 561264253 199169509 112245137 501732682 971133287 782387363 183724979 742245302 908849071 853073838 303918972 187917153 803784069 341148158 358953143 171235501 252606936 695554817 354969516 358347343 711530694 822107054 676301181 869713222 414105318 444565970 854417709 147229133 367501452 757846904 769269633 996841135 380470237 854239961 967800819 503314439 112286792 726938065 241372250 579306891 825497947 792941704 567593971 984073271 121525143 240422477 774483121 841368591 907978354 595922932 939145759 452353720 388763847 848963314 266460461 695274745 661199836 274078986 761968268 819961111 980028861 347723772 336836268 828558773 614335837 632844450 120597213 340166321 849951114 729060323 267997011 331396538 978234335 986880526 535800667 313777447 926237669 779775936 229353067 119256247 394380252 954869319 847045264 663766908 201182781 361572773 401899775 655501309 585454970 915052407 398737559 443913887 433176861 620474896 956348383 498797422 838836939 408161923 638640899 272508912 183334801 730687241 893722608 225405804 789662957 785658361 191876607 744558801 487402562 388338236 696083754 700016387 756548966 991746315 203640190 647996899 634327698 826823250 617092549 268454820 776486522 971501296 949441872 508387761 895699880 575907827 389485791 616501989 403603741 797364340 304522253 583225233 191486816 225361898 102160825 871568549 718611654 171324771 681899948 541159601 246364475 187797573 762206743 316842912 621932938 385043585 866900790 661015120 295179928 669475712 522161182 598618580 976162750 681585860 371897866 947007686 145969253 557426983 307191615 859011559 681804643 755870690 158194608 894520209 361956558 860690931 853070250 227622677 172079308 675822741 670380679 393904253 986448691 290290482 412204834 414903570 516939766 801534429 632802792 709875184 249797046 192205887 840019530 781591192 951505909 503107477 400874921 257242128 893355170 799736063 729938760 744589569 417150654 791435339 574929472 356958587 272211548 393100583 116955939 113999755 586735635 103782111 454640017 974008234 382373342 700473202 437345113 500298697 633357957 306269360 926492129 700254677 694804799 934679531 787105405 246421956 871997795 813008056 544734103 684917412 926925386 475113455 703072962 177565138 128412849 682839357 342598408 951752508 558209736 461673427 619759983 901248942 687787502 980224690 933222077 440990514 557923226 771248492 213035580 407446468 937293068 487138608 928526224 887424805 224125396 271185000 869058831 920523348 156591508 642466916 465220037 473206590 210837896 725190797 462691701 347129859 120748928 929656720 228360283 999957683 205954659 441325025 835952317 470593034 757336822 403903333 792831522 925523720 894651452 291365610 219826682 194062255 352688430 669449512 431159152 726923531 222501641 169636467 644355570 148453595 504098601 889641545 406673809 372279898 772198261 721223448 856353688 172928013 838691021 383666073 807095956 616335245 750613398 464689545 603097083 958713055 804836812 672974865 254236718 145808905 840329229 426874735 728178332 632981183 704664542 949451373 366162321 872720960 437285362 819474806 909570556 967458633 147134903 754692420 421568109 267813395 301135578 161743151 472104791 819777214 135586557 565765664 812271167 129716412 129766293 631105107 936177359 696172606 906356700 788738309 544458663 833342413 540156045 626579582 988439463 690936299 527477092 161240786 111508776 129893322 172410430 953064157 452918578 626980913 655442776 863038073 772555741 576644357 660692008 990565988 904930801 461011775 235925262 775253416 689884174 321039971 682874302 848702297 578216191 851476224 436732545 158799278 134188109 226504782 382816089 190933554 970248615 473363237 468043572 574985472 899789284 291148673 397311513 642947674 402664726 310321464 723486501 994521477 296409699 827607854 329161263 520057470 839663254 700236916 599719885 619085467 483831362 682875546 633621897 101880657 449902349 554745012 821973837 383709241 619214189 645551633 763786048 439985221 972716381 974982990 101866386 333982759 563256944 553069358 268815156 585736933 908206308 881313099 768392425 112523544 339399285 868083284 693355481 401845273 373240878 584272981 426297412 286753014 885271072 550050694 262220029 370135012 349812220 806097135 244249925 919142004 854809675 288857597 582643829 484552651 645175054 990857509 462271381 270736052 287232878 801861729 460638261 457005666 135401688 400124029 156702961 739249624 191760160 553693813 297500952 545777852 895337232 103953081 551630578 850824495 156250022 837840777 643180890 519969276 973013572 279220055 676920305 171395832 796449048 314940761 803998670 973212329 228006221 439808082 125685813 575035299 894686281 687712924 441464682 102212732 860848974 762997015 291048746 478607725 853715608 951022760 884553886 391086058 733408006 534231715 698670635 515833168 355904446 657525366 805277251 794629587 840757474 457991055 879006730 328924798 340329530 903405584 828433770 944922052 545849186 307291208 561357119 912311648 592229713 248945521 968389030 516409995 439197302 303304253 479918834 292320739 755951531 106733304 985806698 886936826 266690891 796200632 359131843 266114516 824927915 596840632 890551138 421565133 274137081 974552194 563595731 530775990 346336001 557547055 651158199 446539821 575969785 453269949 484156433 815778392 245082626 545663759 705703822 823897312 723514284 680510545 553049203 854103989 754730893 998755229 696329671 427540102 774384234 923186732 166709596 942235061 812875532 632404400 751126147 363379521 612090125 937067979 886829127 673207227 631266808 892735358 717402512 266042141 997277499 237713489 197263800 170659729 409448436 708345496 599315519 868821562 110088774 923867537 597443894 967762624 278357991 539907353 628899396 539736093 650373129 218084610 231192850 174834702 756872822 876796312 600905214 234154459 554135203 278215138 492722391 202661076 710726947 615059040 303202347 191130305 412950999 616025388 267103379 610638190 576456063 560597287 189772734 397486655 771141925 774081659 820058742 720920280 389718959 406952594 347976198 545920755 265403140 715624313 265562142 453744633 472865238 594912522 630136085 403205384 283756380 432164310 392062312 781671999 668016064 755452945 268416351 344826376 450231242 926559662 771787596 184607576 293368521 118522330 455660293 454434163 864051596 564238183 134598491 806946625 210237514 144292455 463921680 940841401 472844047 217195362 556156705 745528998 614922448 376658299 596267690 128404633 885527052 905578338 711809177 160784317 467682113 754100324 151881676 453319167 335374950 352299973 542025947 724027209 803971654 597651180 939347885 834485018 377958969 330447179 773424553 816392152 302995199 409600115 723583131 602194246 209645325 336813823 664160052 456744368 763034520 781121288 542445255 299472511 962735591 807675556 711700566 372100083 802699134 805451914 854700214 707549488 422917721 184414726 548628262 844975894 238383911 734718712 242811546 420705827 274014948 135783758 413510721 299903632 254424603 194613892 525467630 661184752 290133122 606154350 852750907 517831834 379284865 526363087 312327655 402322432 920383322 682867784 535931730 648492271 809223465 920119531 218671941 391520692 246567037 485837620 322933272 825222172 122899433 313999451 445595099 479466761 151014533 341398595 959257745 999992638 691932328 773148016 298260188 624016311 842544102 950309234 294824053 648654671 833253069 654925904 743446427 301133758 723520733 485014921 421972163 334905797 119530462 292403657 871597692 274905899 375252936 644308427 214841855 207004529 707304975 847997138 783532647 277451307 978232824 439797356 909159604 601984211 342706863 954737370 467948953 503668820 726882893 699055716 871048078 968002870 874488507 899186824 155657011 911936644 601102515 890236872 745311907 735111942 887661860 612963029 236357636 277413230 855435501 985277063 115523796 704746788 603816183 549523320 969087698 190332385 692081382 816612037 973120813 173096293 601740697 960189492 249163285 311917352 564145032 901773641 471350953 935070320 854781840 282542318 350256709 102160668 173401285 541043958 508873524 850173761 886553797 812281737 619230238 583425222 274942752 568659354 666703332 955510380 193537449 248818443 137501730 214677334 290960752 551306452 114308549 962235586 285632912 678782126 578173073 105105781 502922114 229750419 548885963 308183367 748310687 480832869 169819067 853804873 196950024 783486659 416851587 402691992 106142951 389262662 439550469 869233740 338650372 196358997 204222985 399168508 414522715 357466388 524493961 267384331 561386842 280150133 211038105 955377655 623020326 833677743 678237537 240864441 425417412 428328492 359401272 694065221 681698341 825905165 886043855 621422673 804299411 469023499 909867924 695051899 507855216 136841945 650503201 715301715 550072748 253214635 121209006 424651438 969437886 766587278 643808715 171221279 937165591 334530465 323062326 366023611 536719609 491449031 606976435 490932978 383827337 534757309 950883696 896848490 328170181 184889363 490236592 371707736 789670818 377398394 731400715 890652990 947149138 906637098 271159112 298618489 706824127 841586724 420597550 464393063 345441902 531609083 723450972 570463422 985983914 537199318 830571709 408056028 844251269 564346399 195352768 421938484 377640717 323684067 293311755 311530904 703486488 115612903 460955636 117418428 168118247 907617390 162590334 362816680 181884493 778752788 630153428 701508243 787314428 883245495 833310523 361155915 918296348 494897747 267686719 665755740 253136842 418929820 962877196 525354222 443811923 976762652 853158301 494600127 777676640 461858674 359713924 907867415 300432585 931982200 804890858 208537951 308476561 851601991 270438978 292316696 767701337 375652974 206584680 381476812 248865422 633378090 182371698 585363088 614509039 574081592 880558047 611897920 423581669 975604395 438612831 258791736 746995388 497768800 103789277 936819551 942066009 364515619 351615211 388946352 819631220 577625927 210238321 584805107 763430227 831286004 581775103 740347213 803618381 505977416 162901808 348621310 558974694 863448768 667432993 720851525 204651983 212500015 610784534 615476948 508403934 568194007 891664043 823523684 772929006 986245350 818348806 431617526 348453451 697651516 845692165 616168920 354808680 119139916 937080326 350573747 158647062 797881299 181430740 654916114 563089899 695889626 283425229 169979679 735317504 777206879 386251233 464450788 386362039 200478668 937671695 431449512 469264918 976769721 247424979 558231079 607682806 865259171 640007757 274677334 105395050 382178523 708705151 840284130 713891156 511244409 733252930 192840809 349634557 174733596 129643585 251600359 296166466 602248230 239431037 303125820 809961517 874519304 279956330 978364118 711407930 800686665 439696006 317059611 407522663 908967973 857689143 533330670 199985221 305599722 575844628 125151097 525171330 951633741 507721841 118680554 307025379 461312600 106873355 659237118 983709215 165927412 836173832 252513183 422191546 299763607 578824896 927306713 748412110 803433122 567447477 986239019 281887674 104191826 950145049 395847024 792609104 671477937 317517798 141306663 851277394 847827984 833173220 768585273 233283624 532172665 756825127 962999295 307210418 256167580 828212447 336519981 579738222 138300450 882389570 414255193 783115041 909716275 640450249 220053732 241368327 282920646 497218557 400412211 896223881 798457249 566413090 342110568 627090608 798288233 163377120 456971149 924947630 257096326 362257965 341737714 213348997 891515214 962637634 692901877 153765839 932846149 393359218 127738272 663742696 404059275 291875437 312724332 487342698 789768544 880992031 694078710 271063416 214608368 248758945 528771867 419094563 208747312 857969166 817474836 194449713 348862358 453575083 998979985 234861172 488635094 694121511 173470969 867372604 121217381 859761658 371716442 521925862 203018072 509792629 108315995 396311415 250465769 282741705 230733252 175115922 755748842 576841775 702601602 605675805 425724887 908062563 235751621 212258249 783877399 819843978 624708300 609396940 129451338 993840338 514153698 908097729 482107909 363478612 121912953 665325908 216162905 494663989 689576171 462739034 571045123 596100815 685741558 234193332 786398118 168501235 254786050 954950793 269507146 158411710 396404819 541708654 540119290 927564445 360460782 183151406 760128418 533302743 985377459 307116761 742045126 269011413 214655552 564518887 383283771 465571481 244443434 508872362 704606482 668149409 439399200 259842450 685941570 831875012 946312151 161541455 473239824 409552843 278619493 108553310 999059614 166633443 977254419 777067445 100629353 945042819 898158582 509954608 415974551 181725445 960337331 314159132 489384572 850762947 100196432 483812113 568660677 510502490 160843968 417377151 595468330 135069874 672962150 260121742 197039857 506275972 300927454 120959712 675270849 116812775 434482480 179209522 723919825 187621447 354505535 623171217 874225824 130735741 826171608 183156395 137200336 753542211 603701955 106663490 138661551 515299824 422377305 942418827 157798537 817299333 923633794 318797256 308726803 936006364 400841019 846309650 169896411 388884457 897331295 153986519 716545889 862110672 565278458 924372828 570429269 898380093 414824265 218363883 368621672 868736017 701291910 363991679 757256511 997648989 771368113 270735976 107126334 660422601 196102457 649556412 969718440 189104799 295968487 239898191 440188769 804665792 724047409 420350784 449645053 865824541 648806365 594158170 855345995 956208613 893828365 416874035 590301030 274302747 828815409 962910822 782683317 564849741 709278582 355852449 119622590 782151617 246690934 854537652 536678851 804992158 404909858 236851064 556990409 641367830 262686419 273183078 213215610 816661835 482117801 835012299 349461066 666422795 956930198 412175713 150296545 997978849 667471812 823021620 108016539 190310659 267241282 214557547 824619280 815647614 193654674 163452408 255868843 805213366 443149186 971301081 175169587 699437892 193079284 212212450 272924335 254247426 600420187 565906819 453908421 618245241 613366642 613203845 139527054 965305194 419313325 964777030 760808132 572204281 164559842 716254877 962139448 676024118 171594788 579711826 101173171 533799291 380870966 866238535 277766228 204951803 618054099 467619738 966914703 924019813 678650419 827756320 580521615 109245108 691397586 448223412 161861778 100597596 433997601 531916177 198167694 774454073 677169388 128635731 520228091 310722970 773182010 156446734 716657692 964573399 224198116 899762651 498205703 657735763 768292817 850391323 620091976 412925700 759290806 524984689 794838324 964834009 537843244 288689568 527775273 791254309 169492566 406375758 711715042 320873901 339444047 224164796 386543198 853469099 893206455 457020466 122663161 984469673 972423530 529069855 213188512 288480490 440109203 780944635 819488530 953022728 233539580 546935325 204122668 119463746 836256984 274194102 755063810 824894675 693638828 626714448 688397247 161624344 291010016 941011795 921151607 922993273 252081500 468687496 722292587 385046199 550349936 284600632 786791836 109188495 841360673 258625343 873358169 900551975 124400507 252416964 452537531 186345113 971318649 348713319 806706429 774823523 540861019 491031499 558444974 249363598 388510281 316224528 374348321 926460750 407102820 435369031 564893302 643932798 752038123 539560061 951849463 139772601 353694380 119783534 926485825 559506627 812776687 767213448 116504223 409673024 469923897 586034938 773757088 307475845 495731303 182900097 938549350 394055651 322536795 431631820 739183753 497473585 633190767 964009594 571882107 222930642 218632793 582568700 300060293 668644131 179163903 611440842 419878305 928021613 200133206 218874952 264223257 568888050 405042542 343770954 928028863 835449346 923829119 620679856 931649682 358938231 867867064 935763851 653576792 531796661 402176962 732466156 302104701 923189802 123496280 382435416 327386899 278977541 249036632 122401487 966170424 697565572 923130584 785125972 382201312 249245268 739599936 448946282 817534513 166592619 639778171 166587203 203367787 597881072 901252538 768134994 822490152 984340824 818589779 979059858 119055748 336357168 814081785 787494008 337131093 210280221 573646130 328749510 498877190 735304584 489049365 683370408 219838292 919014476 369215322 648979459 448169790 995775586 491616319 726416742 906279642 984563848 439607312 543448301 869469758 665347981 445699830 232732185 754607015 791542867 765717157 612644509 920749162 419132624 677629895 359792820 730881562 251497064 327227281 140654257 667447959 152761402 702942542 768700549 870452458 430579231 137624644 328172054 743990143 214560318 501528293 812394951 486766253 537404170 969879231 541940358 310590885 242803484 610438131 403232735 173280748 958988316 685654042 707868484 222523979 933827610 641981659 469224563 663670392 389783025 509542608 991159681 936438246 158387822 641050576 898731358 523737371 220751355 388567543 733668237 665886917 996215483 187599764 786939000 150064598 156427118 984095627 681921637 907150489 283705163 888333069 838447596 954395633 589631583 944844349 473076128 813767992 380746146 156547369 311376157 426585763 136988142 297487844 807057590 997519006 950046224 270823075 899680897 127146594 384558537 595705320 420804267 911708005 682881213 215899495 165354583 966639760 732025949 346604583 769655945 994897613 931290364 950224731 843194431 241027469 714517045 979191560 889310890 215117988 973295546 714964377 547980572 384740979 998498004 814916019 379206213 284911706 887033381 457575546 188677480 234004464 449388040 115546835 302597322 557295016 716563728 670280242 831744508 270294838 467507246 414880457 572908463 435542533 486315413 357288886 874774865 833642114 257972765 232544222 724939234 351489032 960828162 241389643 619998823 274948107 463134772 691246430 193824280 292628993 387025089 636629116 768282881 207712424 271591976 884958831 768788111 716006540 146264955 220232082 437454181 407863293 223360905 688583924 236805036 309672331 103763075 528882974 433026089 829338207 694693062 670519682 955908549 563561562 748603683 822133267 977199670 261281475 283693570 158031640 930332545 458163303 950714412 740181339 105388181 215837031 594507814 412593364 356887484 819394984 891772024 316097155 847441059 411507312 102115725 153060100 421742814 408239473 290051788 585929300 717851441 193816238 811379424 409749887 639283663 586669097 494364272 769065681 683553877 427646546 724580984 564927101 524844976 651809471 544860736 448489361 310189968 911054097 819074385 411377192 596831494 489073457 161678021 704218219 301113486 694153427 621702569 198174909 433998272 411204980 753623010 587362211 276255818 180141042 354583381 411125395 107138652 413438149 752257838 914398199 487801819 160130973 737668138 576607543 405616927 479757947 389321376 224151120 432938828 649951356 680081865 927069524 118082686 637972331 278389731 590333116 504443412 838468401 859599392 611790882 848467662 943349150 651751313 652931574 709576603 471994509 979527493 659440321 140120792 949790584 318637206 284227691 533154219 323649623 932437723 555463863 632475842 387312971 421072860 225681864 916172602 242673284 968738886 436248670 825207640 991806973 544995571 775303063 438477300 884130778 607166641 814150543 877303138 422269592 823279087 900475667 979709025 682656644 247172236 572560199 585303347 302020833 158983900 397900950 931789387 945875023 683235878 963901628 679564662 644986301 788276091 218111704 666229282 848040121 487965956 204816147 833794114 362793084 609431927 820785309 325459566 462550053 509208465 335428364 820571275 427810172 852902442 356281559 426474561 410701378 874239551 944213949 625165703 101776284 269154837 929215754 637224663 660931614 391255158 217567940 497657880 120316577 397198660 216830447 191584695 482105293 809465304 484304441 390497234 489765370 315804084 585787143 371846222 695406191 502761091 786545668 629407583 349610151 348474059 480014397 597485320 230392117 262377340 241516929 529948889 607129558 752705260 822407880 484410419 873921601 228217938 488852503 480604261 255000706 660536738 245857213 264649386 450504252 866620940 338283499 762836538 463422518 262039948 330322039 771281292 898346815 527560851 476679475 848987298 775937737 472338322 418792767 448458084 347826436 430806699 975304136 665694825 344136908 965512775 950275691 804740852 210854465 107321731 409338501 458664879 321265693 933168899 427805369 222499655 910093499 172033060 778203932 218631091 453625935 171269749 279028563 890626640 463602880 852112120 660393763 695575461 859890154 477923605 528287832 416094883 273855820 218322021 610850017 879275260 699469113 713580523 287150960 545568258 957183554 330375910 652347107 304491266 779218589 489848540 307649416 358521290 674933317 361194095 478158696 635101641 642055124 721661197 293904024 185281994 284642423 888362318 572624126 510765689 134116973 450416591 655891879 536626517 136039051 381058660 223452945 447042099 203434096 236442990 556132315 778978562 450374938 384314831 886164347 303201273 189403847 100116316 493465906 651856960 384162071 869689381 458775189 842251048 718484434 747968006 319272459 357773048 966327458 550343792 353300516 873831273 489840122 242528834 367576398 534938944 552764504 415826438 186646519 782364860 445016850 706171734 412947200 787279193 390525946 859662836 784126829 606406111 237579338 259971941 594949055 941574138 170372292 299004892 834550871 334344122 281618175 463255856 628152176 170693789 545261249 833170965 244725255 653963092 397435639 843887431 123749734 362898237 360274226 540401494 117369214 997100928 345285528 113436214 635824680 752746833 937617334 266451973 151859340 826346681 766301471 454620860 967604976 921986598 718145789 274700144 526461710 384194873 330783551 712402022 668426293 537491707 317421026 377163806 598819458 131583068 195868506 943167680 100256725 481166073 911600377 412652802 742842292 202897747 108862884 387089253 620149054 233776118 311240667 192599265 175344055 647658108 332651971 149158151 462158432 324232732 244872835 342861077 837116377 527481944 480661333 886034107 996390355 769536025 517794688 921232561 488773448 834658233 749329090 403242699 804570085 424589593 131130535 741379685 913542348 630023731 206195230 564304015 457164165 628737611 919670768 317868216 955191692 200172672 528555036 405195098 517172802 362749858 787205348 980977721 819272864 370900092 574312197 682193735 258977554 771486711 213887621 367727446 258178866 556184022 797509367 795497522 138254270 213486909 175560661 771411921 964320277 861998046 439395766 619498645 483260591 198147105 419636197 218743006 690665912 188160149 889280090 907875115 901467902 810617269 284154257 161823147 159855540 882234567 223519828 900870679 486595786 485707694 397802512 513414351 271039399 209049790 304928470 510933898 534113426 558195567 472913388 920713867 571088812 157974329 458262598 106932027 329586759 979399078 982621517 376631060 723293664 826277768 948261663 411316158 906390540 453817768 112389879 381806944 696143841 324501848 112478072 430902158 522271265 744619685 576991644 978646687 494651945 648205417 808454394 710408247 340310607 119205239 284316703 853939255 983324626 727981554 430705884 937300482 426391159 193012138 731752420 269917307 327923141 224242402 777799251 468281689 569204582 940591450 363957176 797312940 697511117 882078726 876117523 614615488 524578432 600320042 882637395 517007687 712010700 774750838 650705687 805190808 757166328 361307047 208896348 879201579 421466432 644892917 139460747 940913250 692545729 182875424 420917922 941456191 991114196 646841008 530258969 468212683 209175981 569823127 664100313 822407534 415262904 981646262 939093688 541760934 928504347 380111567 897634344 564263696 185660558 838698052 607092927 514038165 649195845 382704273 309499818 942485964 314799197 860377277 154792607 578315594 284079381 662128981 734425686 836369196 389475852 181127003 117178349 770451403 872296233 893100886 297825110 950905018 245447495 738100301 259987683 329978723 539138905 700575352 387378798 741771201 577511587 462088418 484717684 184939288 218661185 201358782 163708857 462923981 848453093 621451849 180810950 336514549 858887246 252584430 833173441 800558834 118455866 624348769 458255218 962431680 467716805 977114243 518384420 359834852 860043269 824719465 421824048 347825083 834380293 449465679 787139833 817873223 470429906 712661479 133866976 996756199 168860746 527117926 625241316 748816252 507146144 193090373 930552346 761634211 491614621 975971787 571780118 979347575 150475348 134845340 899888437 521519545 733429160 911571133 452185214 592348383 616310827 196190300 198026289 597993776 661701680 864903304 633575043 217541611 875232232 564955736 876005419 992559954 585369049 427104403 524187668 778650533 372959159 630961335 177676323 542698383 820790920 444512942 267543129 969871719 817598217 512287175 933244295 780237070 608753866 564185674 490596436 351946422 406209800 981283797 918874215 647653027 938578494 986625213 607910276 365821308 736829228 419343909 957155367 899500794 832698565 821903640 819073683 250873378 767875821 470287061 642816365 690505470 336271886 326556045 658379555 255775019 788693590 140363163 171709859 511742014 592233391 512655634 654145541 878352408 784679265 573683432 406814341 124110166 620915587 421282338 550079068 127042148 226471324 945281068 847926378 607887391 402167248 406385503 794818747 720716918 184508385 828850262 697980553 728345184 536887848 444182539 599225161 437094039 190088715 220147622 784783722 396576195 228493112 951978131 602555815 298723800 409814850 453754875 150327617 623016876 669770074 322683012 774261654 707175723 150923925 703848077 418650211 928286813 937653543 898973288 575639938 189882788 827911541 562104062 243186546 456878380 557321877 903163698 567270815 887460288 317932893 240705369 448464449 119413111 505292708 602743457 617117525 212864424 942055975 954936720 103561972 939334842 121357895 129648940 335451834 732106304 695588699 457672122 606459517 179843461 115661017 403552825 203605745 405008596 156346087 903408352 435299540 327854282 436649189 948305138 149498641 361477057 105070000 263611524 262840644 521434415 159315453 117347714 767010256 518446595 618488843 414980208 709424070 523589903 182770346 466738894 491116087 217890088 740612856 677923140 853946688 514904587 883416987 553681328 375977445 403537373 768037777 868363841 982143046 467526086 770827735 257348666 776912134 867468582 844194064 763709735 455184168 713001389 242673946 385532118 121044584 275643733 924869291 512869948 875949666 686471603 369506194 404990038 770038629 212971436 843545871 871710153 188308822 800305680 228522325 545879636 454407977 735069392 941214761 176020642 362374505 954575167 662209833 503727192 411346078 344588562 283814968 366713584 945212262 697315069 404262101 886715740 412881349 825041595 530013514 756495147 724586337 851257182 472095022 965396138 883204549 444004809 201568867 901520800 847186637 336935833 209639693 784567295 934757759 790554103 240969828 658693928 571547177 438144578 517776034 724854133 148674686 680935762 417288138 678796326 185410582 107946488 239161899 799841280 512062763 632489448 552815636 836292483 405345615 269202781 502492211 133052454 496951339 702639150 119402615 458638282 695416078 395756190 629696167 391294328 399032403 276723550 855467709 537806069 155182508 224626119 541286106 785604559 525026119 149951967 606321474 570212911 877071305 733976699 390575103 469603387 503127254 758164114 408605211 755834030 200517567 989443253 241773999 398716929 210901267 680548169 352608636 959795036 179162126 553189672 851401275 800551785 580892067 534492665 253960115 542565155 553629475 753153964 288873541 385862697 209099477 581242357 825813719 172415275 908238470 138598737 736459825 410535486 499379421 155677875 793640603 444859055 426204701 530192039 737308447 185298685 617494678 115027840 278152226 143475028 229096804 849647935 332466145 452603333 806698018 304053493 734959829 756813444 845651257 508281514 287185813 451444814 677357352 314072440 171437543 360471803 945785102 382678260 270882510 760794988 829692606 891918499 179515386 748397723 839966189 606001639 368203648 766910686 382300040 198136913 673381414 845134549 845554966 507068463 348908780 234340279 368432376 362203760 867256255 538432105 856431597 443147088 379639702 112176693 365731741 272772241 200270930 776548727 258986668 411535238 840255361 840130026 622808832 762080991 954635534 466069495 418291299 526881546 137894877 454370345 377181161 280408713 350912131 201768049 646657276 200261458 620934011 750779772 100799373 910425954 505138739 998386782 348456709 191047705 372102776 857614997 168777584 607512793 622833243 882859565 168958841 622418557 333273835 701763301 211617190 276556850 189532636 205628477 604954177 580990564 362101321 848655416 705552205 548592850 548121483 945680382 518586440 827151697 847129912 649619132 130084613 121078739 880564938 549979181 678368828 396292509 516755360 525539557 959181580 952234517 879394460 105726246 218351058 455018375 322913017 284123549 348475748 372413019 989232232 104032345 624165134 737961734 197745248 347361159 479359381 348771619 537972436 866790122 684666749 982026788 609768037 986553656 615201641 919617611 280777483 698307454 702120513 733186947 538367417 310002675 262577898 649499859 111054682 445090911 873112223 392367823 366081132 616609290 326866259 604210776 522889165 355752085 826924575 507633664 593024759 915255211 709833245 386510730 601408114 718844903 659847284 692129455 260950932 466076765 307065519 382038612 709450385 206993596 231578286 910896922 436013162 904454980 874302487 502662731 435327139 430543805 314692786 839710542 409184392 401167136 490957128 394266456 363335994 331185896 703071220 905768813 433709275 996493695 525934605 414020524 621975296 267729681 220607191 517970697 342661100 184765618 176021170 863917889 145754243 376852179 217867230 240481865 473293256 400555025 190394298 156906673 111359259 168164381 822782680 791653327 352479496 990137491 899897472 286617365 901270819 908799080 599717974 528609170 711064926 301853604 413954018 503142301 538814107 110125170 605558993 589572674 668225205 584801702 392173505 615708055 200442513 660190320 857952302 164994499 252508189 209961769 141825407 826600140 548089612 734433187 809775913 201793972 369633536 881827914 144314153 677877900 165401078 300150044 273212416 160956564 498795189 594205981 681700966 311552976 605980499 417132801 892287925 474207923 176865762 289191870 536138258 407947594 948129160 443782884 936995029 825688176 814219662 682826103 226228477 234072149 991977497 942477565 267830653 285452281 564289270 768090501 902119821 104954524 527292208 458768008 369589194 716879786 928277176 680054774 339190736 713112060 286146499 368058712 270890346 176210734 326056490 273418927 485984210 666660629 803954643 403506190 860070940 993696032 380401991 993628137 719717844 251716294 959120869 696071267 392542179 807150548 815614294 207009911 747222711 975552486 494446528 952851070 824202573 903326235 848502779 696489913 263183014 949793909 248704464 355678398 741670147 214432381 771586939 597630804 612060171 128413172 391541428 580279648 831334611 387812604 918325639 810444714 907414424 890788708 809090366 195415596 657444691 675656832 869369045 761241046 216225829 978676656 225566715 721815969 497987518 240249325 805145121 624481024 869382730 966618521 942887605 464588847 202295381 939805641 956087693 521307334 509303646 701325333 475845494 323907820 517934194 427406886 319386466 779960966 770031202 844238302 435959835 740739875 771810156 632568512 882253418 988450225 997732159 439997013 753104716 474985425 201152721 336563742 331144840 538600692 744027876 222496394 670361287 555893463 273789573 786156591 512778644 550896947 330051289 715444258 728357326 141103989 386160281 679773446 983945830 954098478 896644982 272428250 413047172 288104894 434293054 937639544 797150406 478549805 748267853 740513544 221033734 120219844 405381207 741017476 568792723 562957528 580412511 522504301 607091260 928976176 399655122 479183608 988774268 528593673 970227470 500433859 660779147 535402584 819993997 869552979 514432230 547961937 860013900 922704045 600245534 212669659 331717129 336883774 908329784 296844124 411434303 812909626 516260006 753642300 105130004 364167693 804130474 960078033 544600469 916663870 271727974 222764386 777723042 263208686 446176865 174492236 456411455 279762230 527832555 769554640 203375962 634624317 905663010 890051452 195976949 147312079 600354124 820303524 706715192 502158930 742927017 115782521 803607645 218852195 910701259 845730379 492224104 564930630 663044076 282156357 177445630 969447173 908316202 712804105 200363765 981961037 319130899 312594870 689763458 207303979 276760119 894271735 297290160 477410661 982514156 399990634 975739636 386114729 464508044 339946119 600707175 696892249 162999926 656248546 652872257 616628779 646955215 638728900 762522574 473760016 483648039 523182683 105250613 937221926 301176293 133479447 271964988 921906426 907505854 588905931 456775458 934363255 634308654 382980739 658087590 781612999 684006716 775591901 589480480 460071621 469465637 584443517 162627345 952517448 654695326 202590829 288927252 340725848 154765623 811785199 217255447 857863573 261225948 722421426 972055360 949778703 294466775 761469551 681716411 841877971 460316659 676581646 551065571 688538595 730241540 723814261 290509647 711565224 608763838 376720325 261276030 533097649 758616703 606853463 357399623 213720117 311754248 873382325 287501579 866810829 983609150 950543276 951837196 131938339 671390694 600338419 811137215 121148370 300830342 143072839 158694222 823815868 516701791 714881799 311670091 943500470 342059490 441168625 466837509 582470617 835151867 388774791 628500389 313231974 334816860 819019026 730473484 284506887 218066480 401194777 801347908 874211481 216883220 913382146 485919970 919557024 561145117 229882022 964856418 263226918 607814553 696969047 916727787 373681826 946327507 846893412 216919801 810199745 370840803 813683591 562439709 607429034 686840789 298010953 465989902 361791271 306079070 380447766 575965546 443703460 990465227 350231731 607312755 801658213 314109440 760676262 431627346 736362093 735987561 222011156 137227905 666800898 301965345 497828498 240882938 738871208 538414830 902296907 568852127 335738406 923568770 743472395 762101576 415345441 844459303 516240612 107705217 213566498 777582271 882382651 408229035 330182381 969068870 731404029 927713844 826762947 373591783 644340673 546492921 788681943 478513741 643517967 816044992 383773450 388865961 729373778 102858644 755624391 499504449 859527100 423142119 113982620 719617077 854696865 366955956 228979084 153417780 267422662 480235154 265396415 455898673 357637792 288907979 976114225 932534410 887388873 468447879 179875746 784336037 271594177 120721821 505949008 997915646 674216352 777779112 798850555 947077316 457197374 378115448 777330049 988226964 618025056 105711719 381678953 280764944 303884856 701162051 201403470 154491617 287548318 743763873 644036414 520898997 537504963 806948066 363201664 854273329 654202265 193072680 377543067 567751428 282438211 876948210 353588329 699736229 830246220 610906055 297871494 543870443 905085524 724419153 200603129 763843759 134032979 644938937 351575941 835404338 415735179 361475493 260405963 381229378 379411790 896204217 421896431 260525418 427086606 800690194 896164901 429771295 609449720 168325347 390144798 979969212 666546230 214158632 611278428 900865578 511922831 809914571 548734794 732981348 584343344 225756825 269904481 953968031 622038743 929731335 764725831 873675546 244587849 965014579 123991203 724662038 704430948 503273737 940718471 186511280 174645454 182072640 113708787 627322431 547095467 713767080 290101225 889975821 841146868 471394843 401664231 223732913 875089955 450960541 188756452 280059464 401240149 163470085 907548482 161641423 381885771 213916640 872453344 609788705 940874157 859294905 430408818 531060527 631559561 591736894 411767495 433952515 127909771 545106385 170871115 346370990 590035312 424792828 721887764 819161264 167885880 697190099 691126473 660149952 304204813 416520725 534689069 234056407 507568486 973367882 910535435 210923373 402218424 939714018 446018055 176317978 513313149 219219623 861444059 216245829 802320400 262481598 641886630 835840471 942581572 113760920 687596382 285344611 856324946 240505591 282339535 630243925 148561951 159491569 192505337 628273087 631740133 625680497 367702390 238679376 240286550 876947509 470144379 691574393 380280972 105371185 391533932 952020355 244585723 796649520 436390827 877718421 377860744 965908768 415835414 691710844 658046464 116313685 781860056 991033633 665572406 283448204 993420610 150994602 426064784 634024919 825159307 992255445 103105027 719628989 984113002 293365081 897689657 492764107 273349307 508198220 256285472 565750337 235194403 493736472 811368083 244557655 569845048 584154221 552411216 735588593 757224567 418492862 924433320 882459895 472499079 783784998 561773369 464984796 628648692 720898791 497586715 243686730 406897154 738236832 509243822 440417181 389704054 739919007 493701891 404083211 480570909 523301084 125523006 994106828 252186953 305296812 250305475 702177807 539311581 400353965 494106014 968233914 772870759 317578827 972942001 933962653 518194563 709636091 318877881 519650465 647880885 615230118 464784829 587242814 629861145 519885567 403508035 454813358 544596526 484707570 398092388 260157391 606612558 573483091 463769205 431998606 929786510 539952502 207515678 688990296 515833207 589459605 387158106 291482381 161026604 402089146 295607800 376702645 260913358 971267577 868685795 421423877 288060520 694843975 432620677 150004282 161421387 788744652 993921477 783460341 175044754 131040652 114351134 125327356 336296039 596296294 275073340 196708681 375313474 613472824 907317250 527100232 707636552 746866023 621105190 237734056 557314831 537952604 505913158 434344442 730864350 302268927 351026271 959863141 227472941 375617392 569238411 451553624 596375387 806822830 227101462 466993465 398903098 442074321 546648178 509669131 392677095 247915972 238120411 443974488 343271917 231013327 706738286 165768999 786077767 341596040 878351320 824654013 396361840 628532040 324787363 564823496 967431511 502774569 511761738 159509750 998624023 678968907 785023065 742048894 789662665 414824749 584830386 513327803 290126244 712728794 676229534 304997873 608489838 182326651 251265719 615744079 642481887 795906857 496020320 119716352 508708724 545905659 777292767 676681999 315568841 728540228 606715544 162613632 891933092 365957853 430082042 280084948 979937686 704429781 415364044 201102586 873263294 892513572 352429912 700728603 896924962 514738520 769364300 986421874 886575072 386092351 714951637 680773809 459287955 770280736 865193350 688269791 824742459 674380875 126110582 205983936 102750365 327562487 170306513 227918822 455342235 281192759 910372627 434691097 908285017 806951436 281860763 126398100 811421039 610263619 562250951 147884377 123642733 197663334 644877700 608012642 586073434 510624208 591114077 786691000 365140422 697044556 931644636 687431387 511638106 789482440 276787608 826551187 760369956 854633379 310029868 183312566 262575811 624870016 871103751 501652856 411015513 514322157 394490732 235223639 197760451 692454838 920162158 196020783 866010485 983539386 317399217 446621420 321635482 500715464 774331290 695908320 642558381 452720133 791999863 281370772 905003647 406139950 167633051 674687484 167550572 691229331 224128812 768442610 607395100 263908202 735119278 422560290 976223683 376279119 558935304 712001273 870553122 326485586 476204302 811647129 437591357 123322147 191162255 363046553 237171737 737700224 608967809 692320009 220529488 411691824 114435557 759159604 671235533 623285880 224971564 295190143 821801767 428550109 394160145 237742047 882422224 411368338 213143780 145508848 267304477 344695290 890714533 912575362 419972245 128822126 180171962 230964128 389488422 534176704 480466403 158669928 744221375 402491174 564252888 204495811 672178134 238571912 563395847 249963863 199814791 582706396 318487756 551045345 546773359 567314678 110152576 204358061 913591936 763991391 464978145 482431919 528897745 265707636 983453811 114019808 871161771 716404760 186671118 603320967 848478889 431860280 761214579 212563868 518210784 137289787 552527516 621616902 883215477 107882781 619822935 877646636 441443920 946318660 966745417 504127740 608370175 949906556 311087600 559895223 602365158 648196341 941542452 282609115 884067347 653291925 834187213 706582871 319032196 779730886 971641741 520175525 398316881 970390212 392101531 888526723 604625159 385039885 917142790 967445791 375497389 457640534 254344221 823255644 446463091 427480417 781740382 985360296 804752569 762447867 211160869 678109990 600891333 530453294 482503094 558178559 389370138 212412912 762023278 542668689 635290705 144123658 624218614 936042931 871747542 161983372 950326622 220238649 681939452 105017739 905761949 928705352 885889307 231545681 112201755 587036416 405741570 790775822 777074782 104507088 981625442 839026640 625514356 638484157 653773068 544253776 912572392 234759817 854543606 100632367 128066244 299688916 480827932 569979433 629881702 276122384 987241665 464019376 746923889 867144398 498013651 846312038 442711728 885234253 307776315 903096741 440319250 941957465 896027986 559264545 244707007 686584092 908243699 735153999 886082901 790760753 448890665 572665277 986054103 970830413 415050654 494974245 857911981 897744921 775518283 689599124 497994821 996781155 701052900 835034692 114802771 840319653 591559510 939829834 105038912 228649963 895440940 261972239 581570720 151532152 268890636 725158738 284459351 477444982 353642158 349367778 314621600 177791258 144794876 584918076 650945934 785041946 992854640 959014312 600727826 883713324 377655942 400878409 462054978 217618710 940543699 597625362 428761483 724604754 252596295 393531362 668872421 498739453 763310709 384264418 506054482 609071463 411237957 750836883 194286714 905328034 846340327 552498401 451272807 869049525 391263124 677495550 124507036 714001542 787515604 856242258 804453290 671813552 296394539 418832948 403301410 731973023 774372504 983272639 995429092 839772062 640364711 325800731 546321256 467996302 904331010 816106717 625941519 587980311 487340424 222536934 192850171 703119451 556708081 484934675 536932692 474893471 391616440 125092897 299623028 437210292 431583195 171408051 898940374 367650264 822335968 607272069 393604268 443945360 958262790 318031562 512814328 922325945 375602917 747960291 160929773 956678010 674840754 194782943 582558165 182212872 695421376 856851774 172179039 205578108 660976917 211779452 350026935 776670314 439953202 778269800 297864974 929462593 532845714 363840944 935476415 390129980 973719117 603259080 144686095 774699598 742043238 573215029 267658061 657200129 277865053 648417301 915597610 187174282 531174710 643523252 404250658 323241295 707822193 368694757 872195547 945232785 134119942 246104691 144165024 712261914 397361643 479152748 600291722 132702975 118078226 678658350 442006344 524596686 726182964 225423280 415332660 540995866 522306216 718131603 187571716 238700619 730632865 658079332 893547898 422648499 574626903 496066627 855484351 562352088 689188175 677068926 626720168 777524964 930064322 728167591 131933830 479025609 838115941 297071184 254388775 813009272 656740169 610975996 187092848 178874355 836923111 368251453 938105914 776892767 824356467 142053226 185684975 618404237 700781580 854703818 202286207 691137686 757407799 439605240 637347612 638013974 512573246 652076002 931483697 464262967 306768368 451320680 523278142 898105659 533675949 207030019 507148820 634827123 455399943 764035192 481258724 832472920 176733069 657695108 318867086 696079825 866038073 897713344 463560174 931598815 101036513 789531694 327273530 971211864 762110434 321871137 167296181 310125391 912926855 756363448 816498675 312759812 337079132 335092179 973616387 161465897 162729109 952510166 570224407 286931164 130379206 803275511 207996272 393079677 912696572 329538116 842909922 475596225 264120454 190700676 972140689 114259250 180722594 357511049 391332748 160165852 146449366 282435779 999339018 174256110 349318779 754903655 352753742 913544076 480306432 418898984 316462225 383857574 173157990 901432535 348325167 604331601 700176614 509878239 979366387 805054700 718573493 899375850 973281217 506096998 755109152 743814411 399916608 345688895 463783653 241406576 987464552 281388838 271950829 976474246 155833248 984249929 967765211 780878310 625787631 723689066 700014511 228891758 700649129 401004811 509181176 243084466 580310012 730290079 534849921 242149952 996477962 225227354 883381937 138228305 888412354 298080278 939615297 448950823 781922016 299244663 115570965 234351167 223083721 757284114 234696624 973490845 761565583 335920635 593999213 333812773 567995946 790151792 323252457 159701143 588449247 214960349 177527788 488651874 781579419 605275491 926784368 310399369 357038088 465617098 673358433 443344957 548941538 467831337 846980875 622119284 910032344 417929195 831162199 889714295 986207274 364588051 718074746 688116870 749136540 198894398 942040079 768345800 142996809 175741487 106017920 916845543 412579415 575668353 823802395 945260321 551418563 491750030 138872224 955796731 385563149 101327604 113851954 906784329 349717228 522693284 565653136 589831609 339207139 258880700 568500381 421621420 654012890 788361565 956097215 884971990 926136743 161147124 848150672 725314687 372555534 670114972 694765731 952357226 503036379 856488973 256397011 228950257 367717540 682152775 938849656 330632760 173126118 254354960 458595010 393252405 769244052 800092706 733799128 704959462 196262897 245004126 322717790 830385068 433791462 689752181 183396186 353653316 271469305 753159112 116913938 825907103 376005292 544738871 697730041 457167797 268440623 423417542 698518194 811553719 506380772 988007883 568011364 821369363 480026428 192618930 128958314 686173683 282428135 146297755 521631212 295140224 454340180 428766124 144526195 768521499 541758160 593635077 493159675 105909059 182422725 803244065 360572358 813260543 292067014 279431993 940574515 449860534 191949103 670275415 837611984 580964782 230942453 785514818 820160227 448680015 994941873 650901468 599145729 626747817 887614005 761579570 649939652 791454335 822648678 587640689 883995094 104165265 359829333 999391337 680892391 669932705 806294293 874523679 559575839 491559137 732265125 457239819 910649573 305487375 925319520 476284350 128543807 337240285 475544446 681771200 763026714 519216815 291478369 533807633 841207873 962021514 968177096 149877169 356871118 274453478 637235020 482145181 389537353 372713996 573723020 164341996 331444655 385258476 184708464 576065339 916193569 551332425 759731252 258026109 239330639 183856692 891856615 330842529 935712530 210230931 615623447 608035091 712113754 871294655 758605508 474687574 968074037 586977044 809423177 141173017 580029755 298630935 786028850 353940999 356648095 877949082 332490367 583504337 707718216 880754832 666688823 656840527 110755438 619443303 582532229 310331210 587739624 649809387 958344751 990650053 935027787 675086609 770193985 280188898 558772877 704626076 994059296 314536967 390532568 627905153 283487673 329091655 822529445 940727967 801090538 513339612 720000898 924176366 760626869 517217234 129154262 130361321 511789577 466463365 230926073 325097357 692938373 226804721 201641428 426697639 672496941 149474561 905248064 255515606 790011410 921372193 871967144 534967793 502580597 292739273 649748485 307378922 212355195 153739817 596313116 235095306 588762025 397490969 528552781 549920773 373035638 491754516 931822393 616011387 342425607 101853796 722464652 489266765 321216045 458064648 349017045 241896609 871363575 421642835 236193297 798579365 288571236 634511880 632106227 657881950 105618567 885632446 326671275 200085455 532555966 455228926 478865818 886321692 792821349 107490384 270491686 284603799 223570168 684787294 777831107 305024585 629528155 498244448 537526711 364809842 606671582 367189184 788156831 279457460 709020799 752893806 705334225 773744715 251506032 543982786 843700492 857639374 298104865 244923247 888824921 568329720 386524866 382404981 562015627 580534880 778091926 792556209 656550148 464285998 363812085 184533082 132515748 339018655 566907068 362225571 679188694 242993923 418116241 187882341 510715201 751985158 685182144 115460100 355359840 326722066 121940989 371546518 649791464 747019849 252298649 696341692 157076345 407451417 490052386 990661851 179930373 713200361 404909671 870836041 233362825 836016545 279170804 303036703 493630441 134187086 885300872 664752764 364875315 315225647 762516784 729610874 715562850 496729141 537209045 700746448 690171347 762970626 743540375 438099782 684141353 351778054 964145976 417967632 546666489 285158972 883210444 961085991 921863860 233749977 545583572 359704496 928697209 342653230 362033175 604773755 477022047 369008639 782071376 470262266 999223631 823011481 940339985 620599721 674726798 200542729 894711744 291525866 274958134 893848854 863715751 605210010 602762499 149618119 926102814 561393713 923087621 334618468 972711854 757936001 566011019 287276209 708563144 897771976 847811668 211665005 309879662 993565412 655161292 977214006 734150681 964181413 168056053 739092603 252246981 924658369 879324549 356438354 765324540 126700008 939125797 602643874 494148234 190337779 813975204 144244741 949433970 741641911 708988514 321328860 913059833 664886319 183291784 347992304 450215695 483668466 862500630 124028130 639898219 530667581 994346371 439702312 654101889 910383446 173315808 268558243 849432517 898448696 641558821 912984274 182372618 673145951 517836335 943049868 331373028 780077556 395565292 586108258 362648536 876932793 257527569 986986891 869387703 121927055 191785977 427177502 209785437 368959116 903146161 305029562 946013072 204309391 966491134 104672177 525098302 150358445 116947104 505166426 825947392 499825306 268192938 428105290 474346630 579962231 452281153 324602081 508062001 528003789 398952162 999537381 889607507 590668317 423600138 375274911 608745870 687596950 743041360 927117405 148811469 235011010 340829072 374512172 765449697 433033621 630520008 225658320 156634730 114548046 329972152 163856115 704715559 193573728 671408415 937884069 488509033 901889907 861766915 208777539 593028483 882184056 662416703 617479320 180909991 869752549 674421459 226878604 886580548 834418984 512186383 750351245 437140207 618006357 192899232 678765530 782260544 313480326 962385656 440952053 453255754 470363548 294454299 681259270 396107516 350788399 716767403 524356911 339888436 378372734 618475592 803391406 881668447 987331633 479214660 591156708 793902189 973563386 621595371 557979583 344577972 459182230 492402296 432179375 786207590 183054743 801256533 885760723 645042826 514110757 822092004 427184905 382987476 948269360 512809297 323398847 117329631 874015466 631692597 905172142 965054768 717819627 386976386 924194966 366495293 759613870 308526364 780616417 707064123 247328293 892915489 987093379 823509226 153940150 421789375 576276636 610991035 387289295 294106713 868570787 806940387 217132544 315532176 781404149 756956925 391702472 579369283 922632380 180844381 965231957 328615537 222342443 559146837 738681357 919842847 147386298 948537584 299596415 148952203 288446954 877133255 395418185 191598305 578261015 178550258 204325678 862391517 289577528 720652294 957809079 459182187 959518129 823158596 848278301 647893292 306853518 228092115 612625921 550142938 719475871 428032084 182387393 989872359 257515680 678871524 276975197 160832764 213470782 353993935 958188721 969243784 337884181 744528878 520712422 828925763 843826532 500989577 980652913 679390398 700036943 688276629 822201326 112109971 462688145 904961276 941239332 165014162 536512967 342401935 270918273 200384411 460011932 702961902 578289778 800091788 503628256 726350247 204099433 804029145 308864955 937843527 305020132 348848634 294185098 378132112 478488089 954385171 571050524 547920158 758740717 591036882 832602722 143793859 605888442 623512401 785944958 600086624 281339798 806762661 775863202 906654232 203560991 917238832 514030043 848446922 587038683 559807248 203859577 958829745 585510828 673757914 547248494 434626881 367220997 517980555 241907841 456272992 753391643 682552836 534881023 898073023 436205396 993965289 111429372 756537476 348278332 573003173 890298014 883597117 880861575 814644356 227251162 381541376 663317361 737529795 494566365 876262362 311713799 165516916 310842314 302697360 811359059 934504873 120522938 464810900 226891937 792305886 163269275 445636361 144350167 723960216 356764145 874098771 237781897 883277944 241332232 893286126 304417886 646119239 258349337 367765446 845603763 887934394 279051999 949008960 665772494 881492268 920235318 267130286 495682465 960902471 736884841 147644807 245448170 220434259 280612559 889399791 342032318 373855247 825517847 403106017 108592246 946103434 926377320 134079001 764944094 270925380 662329117 860488998 416951995 248305082 217670860 877377410 842420323 563744912 625073909 541376548 791580737 923134019 685922206 984752290 714594695 321096132 665509431 115039676 610127738 662404678 466739436 767452909 460310205 673366204 442613656 512507585 912810165 760118132 104908589 403147030 762067380 998003666 492312716 873575281 318503268 578260469 439896824 186405410 729724901 116594564 678157419 490913224 803237364 691394578 412294860 653662531 314318473 997763641 100472139 369088683 741489588 287219347 422902180 729723463 179149432 613096366 195175245 543813310 886519961 326357126 312386605 688960297 591284556 712800875 764116431 797600163 619554898 172569862 433455958 175037237 416165601 420201826 894164034 508182366 361321046 884697984 539004785 840686480 779295770 561108773 458372723 234810031 838204278 401625845 997232955 291985037 659848963 477460943 560339403 820430578 856546106 469781610 595282076 419179518 390062909 491679930 878701080 655712887 716688816 113076575 461691654 849771548 573654006 249055380 789505174 659058927 626893652 741089767 101740017 915417631 776713101 737545924 103679463 331328343 889176584 558992424 607525090 301129072 230686145 204577869 140293469 179232435 750359255 474647671 606427364 463176361 961607114 717851315 886412051 579518770 824560377 761097375 239801130 116647835 771602635 399496855 650758922 890845765 618830106 653992253 109879270 926992942 314720066 920782145 698699733 146032545 594463927 166193103 664650580 469447949 571665544 809463623 289757459 747562131 457725312 821230886 859897497 724844956 683589126 900354551 897903482 811688827 671792898 426813146 339060034 445533225 479539148 502459693 986324856 831323114 438349881 521384984 755741887 444366659 806425971 723385289 894413504 240329575 164691829 862727086 213650388 190087322 646615889 984818045 673609545 908645741 889851869 654146733 218240664 340348590 367152273 233426304 139782979 794726724 865149458 922888108 360876257 248834042 110206663 389640989 375576231 131165602 894526588 360357469 569733463 913780639 779271173 278903695 369652264 144381986 148906406 968214921 304824009 128313021 454189846 906367515 953657629 327820727 225490255 258610626 777206081 413193736 315242004 384459899 120590824 818523380 803180580 248132874 413473307 820547007 542757689 846053133 384460133 616871618 885803270 512574616 640486948 404420286 517268861 728036563 850926226 703949057 381285053 460791689 860809042 557919939 643759778 963596112 372254088 828839717 252328826 452818807 988275503 621593273 324249327 444510555 259379783 361451859 723019711 574872726 805725560 980091241 723968750 796775375 678971803 325769939 307649364 559555708 535882374 470568184 893306370 730791612 364423169 500637337 340387750 350592435 523233432 928815291 332291611 530109738 627799372 310759864 130471328 138219105 382549690 542748864 352479039 210019631 394611011 781736454 625997689 214059239 283929364 355927604 935248804 365363905 447788343 724922687 304284004 295565912 767379266 587920847 391184068 123939105 788032754 465092181 879567064 863527457 558953665 147241985 498108920 407187218 171176683 250612736 468332914 967831355 999415706 240055911 665086696 594538103 629456005 618213845 207438727 128151493 278343060 558860726 731460510 701591322 617222955 456546781 469720876 977021145 406729894 668070288 439119232 459158782 304448432 175914913 857225754 916347130 874509896 385624400 944685187 220133684 813829510 185414122 391600114 500824629 936045811 557871284 958078181 324445859 245375815 635582080 993066542 861724973 188006981 822642153 998589459 613590098 274307526 701485039 570398339 501238008 526350701 890990621 501938084 724062359 638919360 520526415 921384016 875603059 739839948 899223272 118845191 170694541 783009419 132686547 523710661 944848394 166825065 198724920 302044119 806483867 589962866 265872298 289380057 893987706 159103743 639665733 598423880 378493072 264271062 768818937 462148136 868559109 196630954 310180450 715682729 271854435 914630501 545237101 831074231 590073546 277920309 432850123 352425592 691245821 449357681 268539449 170360486 848216379 920668804 109125199 434339182 694380284 264253548 396713896 741016091 445229193 665848605 959685079 404092181 600566187 272911714 706634944 583732326 893300090 739024614 955679445 479076959 589550734 326509219 396329078 177761183 166402256 221807729 266992173 294094541 139371172 384431263 666842628 363928855 101150341 731095371 432710068 694751928 595541230 264826773 457795855 613599514 289900608 394708185 837575218 891661055 902067547 426452891 840484470 713347427 688383468 737453533 847374790 890510876 508333895 522594659 367847927 501255210 198392339 973258235 819144655 838569163 454806737 869256674 343557355 716165092 592286086 245740701 286812726 498656339 185348955 667563760 307507887 815527565 565718748 799301563 513022290 113656494 525948295 664952935 315925838 431937670 275836779 858725905 560034286 287079266 636093866 876641778 429066632 137121686 436886153 518304500 626312374 203003308 594728702 341064312 828106931 564614567 611119779 817895288 188071515 633899894 368907639 701566853 829916076 878065495 325904829 505952384 714093886 648022549 446116278 187527675 938508765 163076485 666842596 599994144 399006152 405626701 938690509 367212530 885895591 868272032 216681701 180869591 951402174 675232815 608074490 109153214 652275938 827583615 811448042 414816197 297973634 790938917 140663368 447291206 850120374 809327989 160731553 148808520 942410340 290670106 767005574 173808999 526032347 757136826 656312817 504966351 991618230 137709760 993073713 914602051 718761365 438247299 272155626 223972441 611844599 370381818 410465240 724133917 138580283 868794998 751420908 911641728 591481211 240798375 388035616 991435830 714508100 137521827 577203632 143197086 398325806 540390840 853244754 154779833 392720854 596293094 359501047 872205593 341544390 863100905 329764239 950213820 740940201 283404577 970038081 190144822 253833877 840703072 282111152 213197804 436938004 487653841 666321106 942342775 724706707 404266337 521567214 290572546 563095249 925391874 569928360 999887021 551450322 255450802 547455886 718308874 665050196 768653481 511681649 873619557 861291135 505576429 951471101 939967113 388387887 653987808 127313914 599560341 204588605 238042700 133771618 683386382 937377131 102831377 299654655 611390641 686063177 555843042 725052760 442337727 843905884 207704793 843336011 905755003 416606858 796241847 559534210 619144166 447649610 135278411 215553773 975579765 954105229 225610279 901561675 959054276 374941927 985472792 570363648 833889058 837252547 882216288 257464827 315872716 447040221 702673473 811231176 430059166 209682941 693761081 902787565 531208599 333362342 198284648 786480048 197714313 358379783 309316961 699295353 907333185 839200196 762050366 549084477 703154499 828607661 352201018 945072442 723135396 677522951 287064068 993575218 453731590 361937086 231538195 969542543 263749100 594406192 230308899 559407297 287758809 242868537 417945193 917252966 600520707 690621524 606163226 329760245 841900845 818324222 105442199 500158234 928500399 542904737 359151099 158279179 313555955 726821377 589183869 186403118 542139020 976588164 225383531 777020722 151928077 908474673 936548418 947404650 711805780 524846307 413478138 280073776 448803345 173030118 109272150 998758626 192762624 554658283 149227727 221624261 783918318 888869375 388477498 511880025 704972124 409827980 636615105 159166354 618110648 338079010 573324295 504584122 683653930 861535649 445640736 726417236 357795518 454691081 678344800 134967291 473592376 964135440 124128700 872828557 186137295 778136924 393258145 766128358 693675352 857514327 597535495 386870152 202035027 735467735 360593009 984004809 933775894 498313133 497265269 529841750 308034497 354492350 506619310 816713977 391428838 258293258 784692044 590077321 762097218 855179471 190112788 855416429 155403595 388495115 588839336 962488072 736216945 850900164 447236732 354893872 838520626 819901702 805889980 492079964 561358700 505377966 133396758 106171107 558426125 733523333 252354070 300009982 927179217 895374375 548140117 540768006 804572851 271199064 444162033 762815151 631794433 247163622 314108582 302304075 985914594 373732888 452622335 431380405 921192453 771733005 686078419 675587248 973933466 221390882 166494646 404747975 458447717 262257221 381100385 311763445 117699475 409120668 668755958 170569980 445479464 788697999 912207526 456281222 767990597 524962134 903153242 578836546 893928423 178168923 195647657 753028105 904227159 359426944 843327123 833184537 201788011 584086266 301942535 135000604 596387589 606052245 669070172 144719230 495688873 983676049 365641862 134520550 751546397 867764209 997428487 762069183 457688496 300101918 991256571 185009657 199532097 602990180 780476437 159459581 305005657 797791059 701306152 236344325 428663677 100443162 151643756 684136109 671942744 364277056 749270597 426199356 359791227 690250797 357715335 435530555 978613368 643759602 502294334 476509072 225806017 595001800 901200101 983513010 133939965 629519541 318334074 209350740 262920740 127755270 896207547 804103260 310065729 736242467 242002568 815999437 593937849 470655157 255971082 988134641 495489661 563174902 665510404 144399780 173618814 959424795 220117399 892380102 989825665 823145647 582411151 871665846 338943423 302522607 765755448 431971864 361122930 578168313 357012494 282896098 820531254 243312784 468420657 746870976 441913407 448825800 428428978 942696085 670824126 891575986 976907292 503511992 831719044 596887452 846770215 131238989 357425197 823175694 770402272 411773806 949987469 576877047 361166398 731739416 541282938 803021146 906566102 898620421 875967845 235839464 176707421 245299126 374120580 627065944 723592128 601419089 399214321 591725862 673552994 555201629 656033191 803881085 826079059 127429013 433375127 203993619 449237746 392553865 976583966 151105891 315459531 197101582 206018978 317195378 755064326 965640998 185183046 752362426 562400063 945836109 384012538 471947810 721634870 246024564 539737538 867978288 263065280 227256406 920912872 873893465 292240283 969919847 510809681 694936918 994757996 604906528 571016922 113720774 137669945 927580339 346779356 229111227 152164484 775026716 223104838 362881969 278527058 524183429 180324366 333408342 578192009 940779626 210064522 873974310 707085333 193386574 552775840 686923719 902170870 835077317 952638478 812257638 330920938 974589300 829950595 746263432 932159805 264374794 711610296 815997819 785609432 510677632 257722934 902252284 544871675 784253699 907021294 115062579 936820220 342317491 901998884 583012623 810995893 465067355 628058118 772264933 177489927 492149268 955703687 279597965 312254455 917383419 123501170 829352750 855145723 444642606 272992620 640482971 501109966 870895805 747572104 681960308 721596081 617396197 178848061 455384707 657937963 452759025 815070412 783241633 169530077 212964048 578218186 714628995 176800503 865728204 260740780 574543570 528306893 591461714 220116272 296158058 279578314 101111885 547798865 207804494 516482251 673713159 572389149 115816304 961026202 213663850 214144043 949451066 460405441 482994628 938036971 852200361 274402917 211750003 717665335 538697869 606680814 298228384 997176986 718940033 799498260 852532407 923425789 721732883 221825208 375961531 241875773 607817443 106261414 912759824 311429476 225087326 324246874 552010915 907336959 811015012 562266438 789074665 981206968 806771812 451538509 730408968 423430212 792972292 155854138 935710363 532050364 143595060 404900776 266002534 499044654 488421543 522821202 189658920 164865468 839566188 341625029 259031706 429791623 572490395 530022722 211608033 475975872 215797670 980104268 970839849 560800413 338408951 133417744 885471485 174484893 376981217 955826585 791162973 277279299 792754485 798436960 609817505 139694896 754732182 891473472 250026811 815625847 488124567 210839434 303815891 739997569 948665034 175807371 976980670 402761348 124272480 994099200 870769217 847642183 614198589 633598120 507209009 956108328 405254500 970262189 798411289 348431040 943909055 305565857 424851389 428778124 675181518 740768657 817283338 625118279 374785813 242766342 794279361 769462941 357354410 983580763 293383850 113211839 830800324 223782484 665299628 293898373 202653456 951541589 975909013 295710647 635044428 438084123 293847244 864754160 380923583 654786555 131711541 375234732 681022400 743515612 530334206 670861251 251394551 518745599 762203383 993211684 426590294 870544283 715315876 466201432 297130161 388435948 964454241 995518048 457243992 817106177 828782167 692241004 881533165 542443307 557823852 374980986 235530092 216675467 186338447 572086053 768651061 270514297 798344545 782827878 127838927 574868759 699345823 953455277 706153248 197517933 884815672 207336729 252052186 971305226 181161886 167802594 145874454 183827240 112054558 575254293 826790105 180524921 283278853 134913452 737593039 848635376 746593847 937570515 147268502 345717064 145956215 845948423 887095653 559121904 757162032 273361888 161809295 420998768 225311622 455693299 348045406 493722793 263393289 193450594 930998571 635479009 284166781 279427272 287075884 250570527 131749564 885900168 356023555 325270956 250254145 367009430 676557479 787592835 631325036 672452503 285158258 350201063 452542369 268246111 133124973 994306629 176559705 339082474 250293137 602075340 526411482 984548395 961096157 195492216 567109917 916188109 521977199 954123615 438824367 306347863 999743164 350308267 417543944 692593757 928232316 910933112 660934357 639988442 714385294 122561527 779001257 667655430 310759918 557771049 471040925 547777283 572338804 559736236 205327728 418036378 263152002 653581529 143128373 375342976 987551532 141947504 705227607 228730139 252011608 195173263 354654335 149794454 408330056 364036032 600271082 456114649 796496068 329412725 510153998 734329568 239208926 333579163 479854501 704811737 371709310 570077088 258994504 874306096 789411032 327123725 992123952 122012431 637545284 304246105 235699435 428787202 721750180 106875109 422601675 311279042 297313540 749670084 699143253 298746368 988998226 773420789 351631496 736777259 519778513 712914576 507422140 830009697 675050088 175650994 148840465 461690815 510936569 895922854 282202836 105406328 430940858 963270263 423373633 425476406 790872563 583697820 702621135 184700785 874256000 939816063 412813793 863566398 309514193 450651572 429538633 839673870 264110314 729873097 545090129 218878397 731890117 543515235 527692272 757075366 780988798 442083147 924888802 476102613 900221022 543477740 264581180 261621452 762029999 220206164 255939432 259108832 913487594 782921960 655214992 981183080 886309586 143506588 458245022 794104438 987791138 884879527 274396242 827095808 838761102 813456365 210313929 764290938 893504266 847158940 212351486 411487433 666408657 961717413 721880032 977523808 136967115 264315131 989823769 882286273 469598466 822030945 222447194 687471868 816143374 309586668 217204456 828684288 747840752 205727843 418771596 750300434 895859866 536164816 160314020 678151135 304510274 675969778 845598791 684107131 713824781 715669043 790996639 661878441 443668957 653401716 961744354 813017935 543732907 297952455 551988459 756364860 446403499 642234361 149207221 965694150 322301866 283800524 530203126 567651029 370034294 196051642 267630976 460036059 806559484 666074343 410955206 718342412 263946808 374245115 502952275 423254240 142935806 776306578 255259141 727790641 482508556 556973967 416476202 748970086 812201727 390277015 431270403 821288376 237471021 891362184 856157942 445854008 905917919 222908883 374248180 676346601 364982205 975281167 152953233 952442586 716466576 329714578 428415813 462211756 487924807 897405324 502421912 849236838 304637810 555245939 547630356 902357207 220832292 200452974 623757244 704040595 772165007 245496433 338728268 352705607 102404351 436976598 947245960 781336380 872857841 860037314 711693533 554009497 343440410 492922926 830495756 710748234 697514456 951056419 856193071 447018072 143159734 220641568 225341978 604555338 591175148 194051840 361652487 432818454 559448601 948874941 519731248 904779629 917641316 946842678 921527917 613719942 179945639 455267291 864626452 187472756 833607512 614238705 662753665 138012851 259601419 137338026 884940396 119042631 624803801 923969997 701263469 483566160 136743816 145668567 175957028 668283898 805411255 380581058 782695078 367263532 250347403 894791185 360386024 811547318 455656285 941473277 411498786 784175335 729427511 435464827 634475070 933078161 734668643 876839599 401724713 316492968 348009669 234416691 293550661 936779523 738636720 846838975 538138582 927490584 249124381 327758719 828925402 123659133 888030653 683688867 350916092 841758741 899224946 896967160 460186726 104773492 317335575 561624231 274668369 868007605 940700943 862096887 755691068 957376106 288627533 862182698 209642954 724552218 709798405 442996478 778912302 930093706 713037946 944928747 896817227 934768086 893744818 130946155 764953488 379324293 876813112 547699265 344677768 948744581 540941762 933273533 791326101 141522956 296547332 613718220 803910413 987273996 868553347 508609989 898413972 815315978 942781143 856842879 558539114 389084662 159643004 424919933 676475511 214483466 652291635 481738548 515311641 306635356 786875895 631000391 953977085 983836373 755169062 917772226 602420303 745120634 378102191 915047385 874308904 502973450 333453919 660735739 404534084 224007207 893412422 558684836 164431821 505389142 882041456 124150100 857484753 692781847 689965665 597813457 790748833 971001961 223407874 212768471 969440699 260925811 607982957 519477566 741948473 735220851 717172690 425887893 956853681 663658802 699151700 660840359 899710660 486658779 246641768 124941530 977692482 857261146 661245843 320814606 797342639 717700834 339824073 747646481 201922385 948051619 286866751 305494362 286901845 695174915 665479413 354232219 560657110 556883955 380825218 734235326 554974341 999031613 203376906 378230358 564618590 574591247 178972919 646834540 583461061 764361599 203431720 507862370 126452033 461948759 923685386 963992185 532071532 807430051 911843717 216581434 128674220 151684725 770645841 472329127 309729247 965896779 317464859 870950016 427987996 179743548 996216305 874275712 376386836 972162416 938305222 202013253 546237193 628422439 126452981 501170340 440930668 741083803 402031187 182876017 750468982 581942482 329079420 131085896 823683102 600361580 871209809 167090550 726911971 244878073 533487922 929072310 810931402 778047738 163600100 935722174 695905193 831693428 720287955 716364469 603963096 660573086 772402485 195633714 651451888 526379958 177669174 646951979 814296246 512911873 683308721 165211323 909419431 818020927 909535444 386969844 443018642 942285407 211315157 646357350 583404943 162042890 544306584 243164321 130848609 542411850 490651522 435074651 678201253 375844594 905184289 558967131 927445193 817910008 905254357 317760494 935230776 752434894 955899373 197401097 872616730 577140083 650175985 301882144 585101895 444783803 308027253 301631327 527917581 438555156 895434268 737868305 670703995 553221332 326342487 565150071 274588833 734594741 920507486 854245053 703351239 116304893 724489899 275998641 386485897 846871334 976385239 771613821 973505563 703042079 700485544 294555759 753947291 186305699 448340348 870259691 267375866 583527919 741377000 655284990 436691649 924543547 596480677 135667443 189258272 825206923 713580826 926779638 932920587 421629801 703109409 495271798 100912913 362725834 148246272 878612083 183048181 351445703 556657478 151790992 797291339 814477187 531051169 442407545 375453289 710163793 741872380 649499626 568969130 442746255 451422845 555606138 564843590 500894354 347807823 611120231 132292354 968544972 416283529 938202888 114586171 182279034 963791966 393378932 842812377 278180162 621019234 768222067 667690507 787025152 409222439 279322213 252238961 891052437 602354015 670836159 620092481 651040167 419570873 986917306 992011732 406927810 635803905 192445743 215917650 699671397 508955647 476653857 605137132 454084867 849964986 743430798 216041753 421196146 491530856 738618100 270831662 912686700 345877714 492058196 641452016 267753713 288706940 519026168 603284816 382476002 670881235 951647539 246002736 263166812 946469867 945731239 253734438 539826871 654182932 297326274 884568723 649080512 562095241 175406475 187352434 839500264 121404482 321836549 224677420 559380537 633578238 171673635 338243769 960050276 206553017 974056766 168127082 486793475 596305888 329314584 520946133 509690035 280624630 171470820 873533650 268761068 887679479 706362511 328942228 120181250 882293445 997330982 345964272 960198273 280153137 970203092 906314642 873152270 678955324 247823832 297896433 736750456 792251390 788028722 823404688 672735624 517391188 747628366 988593616 644530256 399925272 934602832 532512310 476732803 442118855 852003431 737650446 691732971 850553743 463779098 129592640 686445784 779003806 783562078 443536795 616131272 205879636 172640740 825328576 679653081 830754372 714836456 241897982 527733097 617611916 651246292 367081962 676067963 404801714 282619945 285316050 306922622 924952657 371561673 174591168 281927477 940348357 645416566 493993356 107890310 821351378 438511308 158537251 333351966 300452078 379401909 234194430 116005994 274507163 474803231 693154638 138216222 402342062 658595139 856630541 531870980 937205178 729709126 413587937 883555791 174586211 876995017 349477912 665428348 191776489 842599585 286939631 174589755 995511481 180589555 760390381 284028088 876381643 609197625 986345502 483429007 227153214 926724299 652811231 428172907 294442620 183728426 131017630 147263615 322774341 117915470 308815671 389761449 974728768 897080816 989195722 702129103 672530059 418298443 617943583 834888873 769426281 766742956 835539960 659704042 941080563 460793536 721813600 423128295 186091173 713983623 829106651 486595334 406850262 797970189 760945961 180316432 303253338 717445133 614608341 773305812 399618993 304863090 299687253 361319440 271984718 112062050 938965958 121849760 688960897 900949087 232603641 411177558 503752718 753653503 502600276 295718468 798561090 994101453 386541172 175531310 912314272 129941578 896160417 602570778 723884068 471567332 526779895 415314068 152189582 640642944 748748757 161669157 162428225 558161268 950081550 126169964 637017994 625885138 228846422 390227218 259153039 571780741 785123853 184531681 246630540 924661622 921597585 513493473 578813978 410376840 528343455 757769577 534391930 638414701 469101490 119495851 801710766 657901509 262667131 293412625 251378859 769195154 985448329 408261377 393643178 984352383 362417488 972325691 599817757 376342693 489110908 819305214 963302153 608553003 945645363 916605289 996958590 417428946 587059722 399824418 993568219 497542261 108618602 837050937 777820935 481174562 356444244 758752964 867964999 603031107 187973406 208928746 933391851 187277154 428738012 345107768 224671787 129756943 275042102 936214359 443356886 916615552 228425593 395655347 137443978 465564276 126184627 107681088 295736783 148445927 515220816 375679609 944776381 582513403 972735916 800768784 260952619 835858170 608681929 486274791 821022211 154992066 204233064 547058703 659278125 552615585 307459583 248925129 297438436 665028097 818451861 606427054 668255596 337640980 419927275 743649289 866772291 842401992 398819293 296608655 496159359 307978373 769250766 868454939 581493698 711658825 702439764 439882339 699204654 320595759 887323280 991376230 794236150 421392358 609938971 640912645 706946212 878727172 604437492 982089817 748118210 374209615 945300296 700553977 422995227 973256945 639727057 161064800 381808885 662927840 126514192 155458056 750904619 936936921 929626715 896824004 678719256 279782949 905635694 935902615 307945322 570550931 365579816 465488827 391856009 585317785 225300333 486061880 470210384 825474010 947542291 351987649 986062872 184656847 774453573 823987736 191090383 976827047 806491637 118412622 959131936 811454057 653865489 336475944 308217439 402795814 226772920 996495811 603614268 895460252 767591791 255441166 512563742 738718289 548178429 587228001 963778243 845450644 671354768 416977718 625515368 378171057 282255501 119784856 598491666 651366773 468015999 876229133 157357409 165166568 363340018 901853400 318748538 840023551 332068239 483317212 207363077 797042094 450114510 809271879 469529118 699980269 397708604 564360459 352080377 222862725 109655324 373209411 804233896 620807049 326546386 145162910 733261315 786988607 615060980 658298095 973608616 421446298 446292419 799176155 572201178 628118173 325910827 341617755 275499554 658089251 695288642 536536856 995988212 537083649 195466077 498389129 943685859 808244477 372234484 163410011 633031740 877108715 458359925 427438328 278868357 788477910 358919465 320142964 765369916 667770002 657714896 662245288 897506095 430087131 861260907 301703853 543872835 751144557 643401951 182464442 333777131 100635627 373664828 147576145 963935051 997724808 248195657 486424173 270183286 101722028 308477240 564770114 752862332 404853192 932109460 142901978 997816253 816284307 526887847 105204220 924085176 519723885 312854987 448754995 668419270 674273764 511607218 438177027 605411610 679537716 399719460 863253228 385049650 465530109 561515051 270259427 256395398 499178824 325830522 573291225 581609076 508882070 101006868 146715744 832852789 381523325 911793715 138615309 121924130 762535003 276925883 678619418 915282801 169258097 933063891 572722026 956023028 730513197 467350303 354685461 264362700 153454697 979899356 252900321 843289809 329316658 851671862 186846566 706522203 387390654 407817591 573043326 511530545 623385083 960943025 918094020 966747427 300992468 190286692 988655069 769474927 762561710 916796607 849397524 543210498 141928658 907204632 941589203 528406855 327018402 570881691 145524408 111882113 945760761 887180344 700858069 649810462 426829712 785837668 214178982 884638300 903021674 116910988 509738573 465019398 251142969 925791652 536556590 410244737 869721065 589559547 403020044 642192078 261804199 184625810 473956823 543086800 141574688 743122976 529178454 288209076 314841614 682170735 175369363 562039731 355179447 950136143 982032734 506414525 929381116 506771546 608498185 788208620 889313681 684887652 594951903 450547090 785494207 816208261 254108812 521837711 910433756 808258847 844698372 639374388 257777430 549195126 538923987 474738294 455218151 298595683 783483645 756154090 732746894 120514557 909390436 433382921 586398261 414135826 306930466 112804743 370494163 866005445 174246843 632136321 620363056 821214450 579073174 778050796 183357120 903572037 946510631 644616596 430370510 694628197 921319423 286178328 278899927 793011165 664288423 134618722 151127056 940349223 551769637 397847418 404332689 915879065 351727805 761873504 780825376 970984646 318903014 423694579 373314551 363211069 191772666 957762762 957831951 619851181 963698513 617893678 621377272 317525099 784438186 208327452 197799337 120075772 525904762 903561591 385750344 568784109 648594696 740107031 564786928 500997292 147654569 334477338 198974756 420103249 837622626 177446088 249023264 106193058 267862179 757224292 613197400 248533968 774599829 455638083 618381047 522059262 519977628 298581459 101550748 897622761 639999344 975120225 473835895 821073966 176192088 827702534 620425826 565021052 391025159 715636688 664390067 463671962 965317771 725795454 252255532 776414809 800187366 307229020 100639675 210764915 171049378 850869265 513297938 919321070 663006959 758696821 506697105 152297904 646748428 901023705 544601361 280015715 372644029 704000654 513770347 130464396 415052469 480669963 919066551 243199475 720768018 762998672 130571754 449883695 525724966 518048139 693534824 358929341 971022742 589709361 537782148 446319123 889926081 124489646 178065337 734798377 429724292 620837172 511642078 221743375 338485184 451145628 584335960 571886156 662844148 937665743 287618998 926767950 598661470 140241727 203853437 482404027 261739306 335027695 391730693 883295412 311316435 159907878 309018536 441439735 751294536 355445318 295740646 509582609 747505720 242097112 182320785 705487603 415020510 372489964 380368051 516889939 678734171 527767604 777699153 440130816 423893702 175918015 780724917 476281439 662036823 230355934 605570681 329220445 264605980 181567370 712628071 534943155 708778893 670508110 918974846 895351639 454989881 712237534 699132256 262632422 205970362 761707741 971002266 623807715 766902624 455383448 491581004 975527890 484378188 326123785 954560473 941982609 656545267 373292641 982112464 301415415 906061870 866492235 553702097 806417138 971956793 607232576 968489775 988113231 417367550 333719210 679540065 711653952 364070225 189687334 407728589 124131625 294140103 642053751 439280272 623922065 650590379 220374778 552541103 502885721 424684633 883594259 991714408 599698607 879837879 527220412 558721815 740643470 374613170 567079595 156731134 228713219 436330313 711893034 591719761 152640380 472650227 346401897 733945551 170936233 376034095 183756946 334195546 882893891 633515455 424633480 969532405 236876728 457317327 889756041 159883364 489870683 734548046 753261646 798722258 349832617 623340154 943879229 291435558 920670192 160611712 186057654 658909622 732317149 428025166 933786435 570062754 342128531 523906920 363459197 441111133 964910295 481102255 859065229 342248656 200387359 621178601 212881896 621973398 364343205 420417329 650779255 400547587 805150472 698237161 829670693 646168896 559010556 105173914 262788596 165613890 745850493 414926166 455306472 862022006 138089492 378740487 443083617 443716759 735921033 187244453 274384742 496603708 638609048 278059684 425168668 354676818 203719510 914748393 275177137 133224768 586461537 572595982 743951669 181577036 851377260 434442053 673160853 705761352 232869295 390607737 755235040 264105034 524237464 557429372 666808731 921312703 977151922 847123633 383799138 196462195 152114424 132335224 548287304 896908518 627732455 454894065 288934288 146492372 133130630 674947872 221256504 490644168 633304803 379770276 600752076 424014819 408843666 133003301 123981061 730536676 703160313 594141058 960833388 260058627 586094879 186727313 950003684 426162940 646262744 841454086 491416931 156704063 731937695 685554166 486478102 299546352 628387600 449205899 609487250 206457902 855136943 242871530 413010225 174709505 621339107 956176992 894319462 451714666 536651758 321030854 629753675 732944003 278529595 174851207 677466153 471630689 373092078 545849175 650396541 966924926 822634257 617388260 559238183 545961717 330241864 411612730 778663825 895032563 279002788 221159258 757894663 318170031 811925440 713098493 108323513 336856486 917577170 506698378 208191306 397580915 755150793 579474928 230496057 415828398 639031683 543537654 736626587 996583209 333554286 711019752 514699641 836555243 782078464 921976806 141635098 959708136 411147218 995838776 107861877 537623727 347166594 378114565 550457827 457264089 658557491 423779703 100963520 835250633 745393174 183434786 147456783 569870773 928078454 249533977 555062536 412906270 377193558 515429688 512286343 464710921 224477427 277929232 315983407 618028750 890939075 198720311 366518887 942647264 957084327 107957914 895424917 702904783 638606860 298454806 766554982 388044920 145314441 347226919 446945578 575018177 382802249 366812112 875297967 217823229 984157194 707761364 922089851 462388576 180462420 439462352 810987249 499982122 159483215 219860466 510477991 153675386 457187993 637445042 359173247 912192629 778813182 757209004 310539913 194852043 607668763 217059712 498134738 952106031 910709910 592343516 155196136 338635973 740734088 186476575 956716966 831987725 633361363 394981842 626723085 711401546 236314377 528852438 997807953 190341755 677883203 736352101 220084879 543584696 634423587 541751998 847311964 476760874 469032356 201491923 354411292 929032763 831136916 153338958 833909259 903742173 747534699 587902567 213192770 321855918 803574956 226462648 443924314 229257663 531152909 174299254 645069297 609014487 702259121 565560272 167427925 947574047 655404057 592397578 422927601 102122706 787239571 326187881 503940162 664632485 264349242 999029761 295372433 462176677 993378334 890570565 395650926 355929132 920306408 684151931 578730182 895116839 840392071 933644723 772770884 773401972 395097906 901898706 186043895 177709741 689992061 140958564 437520166 864285651 462459955 202686621 578879519 122111065 439791428 128639135 408220593 646174955 174828740 920969900 445658416 450938253 957509512 321687250 581674959 838621668 278986402 153191306 748997855 194900763 535759600 935724979 692327581 163130477 475714353 931551193 268283040 579622932 443186224 187458586 838842982 666457382 707352309 175110716 397229181 215995881 328068015 502442767 144897238 397206252 687050890 757679767 325610705 384500094 871119122 972905635 255840848 600541987 313659241 133593508 875231410 474253676 209147098 113253530 323710613 870478103 503357012 129230256 803388828 476844432 895278285 827665054 561714290 888180520 805056470 252365244 371547303 503611015 749561048 816813612 406670451 307599753 494485279 333725610 263335248 693833823 828849569 383538997 810439578 649625042 659287295 244677089 806554655 330672790 106210067 385419196 830748585 283548435 279922277 113294466 442994840 611555179 596861318 441258685 121289255 634346011 111935424 724809812 526772391 418045899 574826145 511348507 974592796 872610393 804378831 311413720 642229646 586581674 800251375 983506374 608698125 304031023 762833268 493620458 852724461 316615544 773610246 637878328 337343536 115006446 530039491 981824518 963590726 102382831 404492811 342490613 236608534 606910420 556443531 764382658 619198155 832190603 417732045 377048960 115438908 294822877 742517779 733687277 859132394 129529827 774888923 859626583 547217788 215591176 353512098 964122074 370989000 207299148 138616739 577999927 233017594 855713202 523797787 318779308 506975642 952078813 768175146 513315883 622242004 140043905 954535106 963350758 696755912 208794959 486557085 351912718 435358406 337970679 221056334 564897379 977331651 471944677 520839987 253230723 696200493 331235107 769579744 127344707 264887306 101593051 254178949 918026841 165836709 449890974 125182887 556911399 111202943 386513818 394928003 198363665 261101748 638085607 706995928 274459494 844745263 468101029 149555100 436082323 970212184 469118486 462206947 208087450 181583133 529149228 867784958 402872046 830488311 485414623 249541647 365078368 851702919 892096679 173046094 741212021 461952361 418866480 817181637 529765853 700634480 239469506 957225410 548485581 839900265 407515644 453256773 994672370 753050561 706880246 808937269 721939417 719920214 732262630 405227572 406228844 662894531 448498726 536036346 965899443 301188578 334466142 227165877 851314038 101973991 887742126 663370132 478045651 201426313 894771767 434671773 574031642 430503506 457884947 688388413 845572763 823542833 206976769 714845009 491702451 865002946 792055150 404044647 515810529 944556789 691339265 658029985 167292466 808844416 325154151 850273157 483298994 362030105 772995509 387767400 299367579 619766881 930413462 377066331 927723768 878106061 716845708 465089155 348589716 766454676 875479829 382436608 441520360 195967842 763322518 163470535 498643219 180274657 973501271 458963912 181258142 506485545 125856985 976249000 844527820 559273470 824243371 143334792 211360319 650704309 480683511 293866376 488398450 509251158 412067821 486650094 315070277 694854177 289849543 231017884 854816542 401188886 833825266 340256792 973705421 673697760 217808711 418456772 399789459 400986557 865702081 325235339 578639135 431951977 396413525 659042089 807654737 431106132 738897155 513393069 466359849 465620570 794856215 660500194 647009761 117842868 302622679 943604177 260054476 229559535 642008066 936124467 729543413 205386412 462202270 996618885 615119880 257947428 842491004 707416199 388836586 569105171 747730943 887206020 825018491 145808067 485273354 669245996 478574271 150779630 786421059 637462139 279013035 434804269 299176171 324973584 531296627 906986537 487279843 175258606 209898923 554050308 261769800 205108589 599485886 258247324 647519749 300847311 720969910 751628359 649186579 642724789 902373598 516479850 734014923 936558108 555061133 192493734 895256604 396225590 128549706 597295109 709347627 447498780 155557808 393854697 782594523 289696217 449156792 257314944 240433337 338474600 465159309 121061741 861130299 586299125 475405648 245709842 324964628 832945783 896983518 632790417 270293331 679919356 536196713 344779674 125569043 340809060 211590785 194722443 992971692 512461996 779791551 385422642 683674539 741257297 642244760 435061656 525387182 314818161 910420926 625912398 805732234 900700123 925450563 867602137 836075961 506675605 180173846 907291446 613893447 803296443 911085709 120850137 518051218 993346260 977322426 929886839 702792286 668615867 695967493 621757886 898841384 458533132 275097311 495555592 534189218 434706167 311135258 225275641 840254302 116399845 382938878 256856618 297053451 793204910 793018196 167417899 900392687 332201701 110735856 801356457 987525914 947828089 465635730 610496977 965012040 945073064 333021587 589013621 142575950 119914975 957543414 146198233 409378861 448826371 993808394 477073888 543532705 503528082 413522640 816664134 533120845 161802038 195836217 377640613 498346013 110786961 871546017 835185248 187618553 840699341 577065756 601557997 103354911 764146842 996282298 967391644 435497897 829892100 513608437 496264246 590619430 373313579 123083782 312602215 825995556 394225218 685018350 915051364 426813698 587487701 573318564 406046003 517969447 665200782 351786001 550801960 384806739 526225797 893034287 556843570 815497610 465504671 551687990 532635564 268256231 720322592 663982271 244219709 596862623 291904185 432480993 471983041 869199375 779798026 174156438 816781889 865210943 171767278 635059422 517695192 819715871 133411592 212655634 484806411 685328722 407315190 774833462 426153364 838925699 380649765 496404538 354251703 876243116 491604363 860582948 194021374 847942019 830078778 230593698 112821456 528918041 614888623 319455731 650921573 818463495 452387627 340220753 137198907 391766853 991799592 253038734 826069398 372139681 350431457 284809194 842045690 676395559 853430900 279651590 616472421 995722382 163962893 716771085 251575974 614609566 338450176 149009313 232446291 856884647 921344596 675708639 310513802 222129468 713651318 256862665 915778114 515090870 150880711 802283773 974721858 172274920 434785328 765489223 512048609 664227749 680028974 787733680 725662727 370174367 480538263 953868546 246977660 559616873 220659727 238156064 370591620 790991538 746379242 833627876 842283990 463086858 978494014 457874306 840023046 884648619 118259003 116940504 949540425 487973310 152580162 106568874 695290499 813291530 954513799 703008902 393800509 897252145 305535748 629979804 429302654 602167514 940999577 401333977 652351695 348840298 461650987 700137269 101277816 609894858 482313987 429963565 577315479 660629321 620137670 125290122 883232851 835126997 662632841 468838546 669751449 286099691 722667576 997265092 353749247 312310246 319114140 297289474 956624944 495267880 821451928 594208605 911177714 337519512 457589665 651610821 378545209 104895611 805756263 821470000 583223526 197407341 587023808 960714783 810739547 472063085 935602944 290126136 305046637 165081163 216831537 447033808 128524160 424505625 985655031 631298839 788462528 877607292 668145225 415427654 420387473 517056247 407645133 450403857 267019884 205254475 951108422 550115395 538712710 261128001 183365610 962643076 448304475 447423112 304885473 307652749 182238298 196519826 925119210 849357550 171719384 504264396 702809342 416868696 882485112 210272106 636946134 918493627 681579769 992807565 749779188 356128063 509959334 807279663 783166676 787189009 664448765 350463748 431114914 254035597 337901865 624168132 169823057 995521302 601640099 479808233 531871033 607110903 304107702 371493234 778937265 623782118 163682368 715982719 999157939 117732536 653630676 885720667 344456610 893702435 681191985 246768110 345317407 989496148 548263428 868512752 402537551 143690540 476765599 481363293 706540447 143427559 624305948 247562691 170858720 786104373 569752125 270324341 553095446 899606054 397431990 863489121 101590730 223045991 733033571 687602677 902607711 444523087 641909951 813424122 400087623 311224158 761946178 394313983 288521383 119492010 635953977 785332281 741761761 815242461 370025931 200524758 868258601 975248155 327149944 808633814 931911831 455683315 782724078 556843171 333067006 707475135 695936008 150386528 101906617 518410174 850388818 434031427 855654984 640850391 836856978 135602911 140374120 286290832 780152677 535345743 426560243 560953148 758834404 619134100 791480954 119752389 490713526 719358936 267501198 298381295 758342142 456020866 913148041 405762415 256009426 816942253 355889998 757331968 845728100 121427030 873075424 305398680 796974408 423525530 384002814 275393516 370884208 318048459 586313355 804654268 934848440 791022843 273090678 271403129 297805296 245841310 371282643 396793961 314031252 990172547 612800236 659898891 635988343 424246008 195651093 481593351 625672700 345824545 206275432 763562448 599014980 744028817 340022338 485904179 521893073 654006645 590860633 806110714 630088998 777045065 274482914 932629837 355755667 746117631 898297634 552134816 717631355 888327842 636849905 543804081 125439228 401623933 268983567 394197364 390726764 263780171 606040986 118430508 984177020 718843439 222087308 909693912 297643426 145546516 130514992 180060173 245008252 729646302 192483672 576699562 488618799 594100580 691809094 696836255 360138124 315105900 718306276 575712566 621080670 660262403 314749831 929447733 479737360 736769117 883487376 560657421 676422313 740061599 923491365 932130018 959340200 601519997 738223028 612862554 208978177 466566551 696644888 277324666 810479395 772859453 713575675 443577311 186903715 590639867 920679993 384622844 592710856 464317991 938825235 504908088 968336813 890844324 403824290 376733632 428723587 373522763 900898869 461397426 802490763 267114630 206625879 661198087 561767090 401276310 874738022 832724024 652936139 228295066 351809250 199128312 963557476 858626722 761233259 825145294 659786426 421402074 608970277 550829590 247572319 681958979 417394180 840782385 419870134 636073562 961131185 770620091 784206061 628010376 513329225 565037607 498472915 889469273 449759597 888412015 727374162 846807596 106338600 465014028 532804143 249798597 537836236 574395406 547934776 475335140 236649314 257762959 307820678 248685200 246498220 998155630 956584462 271166598 942605424 857445960 364013917 267808704 307542202 780943449 449868377 938728585 536551360 101944909 814161679 231703828 319134546 397140927 588882319 415378239 253637929 836087035 769960883 520075306 167924712 299437508 965917749 523799380 676860260 902372935 842777525 113334349 679718105 579989665 952392239 657638069 324369047 344381816 224157824 227299487 394002130 941828533 483555522 864952358 352208806 220194307 608236710 987298537 806406607 778694381 414788682 325013825 873129111 337941101 584018185 798994965 424691952 502682787 165683943 204890053 256733427 494716112 734229166 596166358 914067042 323417807 239327887 329983254 770003153 705527819 761509904 842162856 599716205 742419990 413215252 279813008 186331165 545512636 807680924 358140223 154466238 290921304 386340999 627294459 740376598 966194226 458465438 848659634 975572185 589022623 567705815 273188500 839676667 652682946 526715669 256384111 364335218 246049045 742158045 534908384 460503934 317047210 583115760 263614806 653419835 990368893 366610101 190360780 981389844 709321839 148743078 703840494 639542240 418263365 872187275 527464849 446878718 493092655 308090410 435169367 651559178 283207558 271412252 290489201 417986040 542829227 283197460 387619064 859767243 494847452 757960250 546662397 532871195 752499740 149204383 636151211 342878545 516935968 983428613 602824278 221632404 584721822 810365016 981589793 588159605 473092755 334720720 390746368 763577136 877946008 950382627 549468580 356746359 455265629 430459567 810099707 942222036 859809317 310009269 258623752 906399165 147133296 420317587 863423224 428460355 369982706 888994540 944118847 910922096 600942764 317079287 537945115 157942568 436942721 266412218 786989565 420084686 849430801 807107061 648928403 231860953 692086684 184222164 490882280 493189502 556864748 650053844 184599776 307300533 923537064 942951972 594926741 316973960 845485601 795862828 798776322 712914619 239203438 969680291 750374243 149397414 131612355 930877964 562532917 700977461 403142238 466396281 963261176 137741821 927040268 805864749 965593017 614256234 557599883 733364964 551208949 226255532 903338024 175041863 414086626 226060329 811700644 245880435 270677956 213612284 607705610 144543432 215707606 875292958 106687646 195138409 913384691 458870680 290257997 894836487 491281228 256065598 342885342 189983663 588619633 973464976 504286900 421411012 721749738 745195864 324234122 265842192 910600383 416518773 641444951 824840096 905086877 763026163 947207464 539811548 469347072 911984687 663997540 792526673 802634456 400707048 250194141 937783580 959214694 764989290 418228591 860139864 617873624 409410067 614810255 418855298 961798861 700946559 841667669 270177502 788847451 174298684 684447607 162259690 367021007 283108902 602303543 985355772 726212200 357200261 920284175 532157210 571361850 800298719 465030680 387459355 551113631 634946530 347852825 605777506 648649287 931265543 780323239 135355209 776510519 495937282 171299461 862122157 625856942 570522289 918355956 711145608 329856712 195429131 565488932 850644871 753461115 576317761 681217791 741637689 969349449 613186017 968134359 938421968 390746061 132056661 994306011 660858639 331146045 578449334 167181636 241234545 591819844 552652741 717987986 558630707 176523458 101745981 549517590 911884176 861910080 371395996 906751782 480109462 456834112 428336675 115727102 781779720 359608956 589794497 755308778 433742596 943299788 871274760 411410431 942081148 948385928 359299373 560671280 139978738 184808536 811391508 644539860 936278008 578474420 896945748 813556097 134369114 352633949 737016125 760223992 556679047 115969696 862241170 976699052 912069694 606015325 336546972 672671760 179173249 261883908 562999223 955178079 880423642 260204427 938104867 712914766 428721598 396324431 541188370 661939924 918365793 345650460 163220230 158697551 643966227 436041198 510378721 774466778 771677667 330212901 291162665 522625096 637390544 935315745 959791868 165729303 458397450 752740109 546131634 334653965 117847828 295507711 648453184 679085554 720724367 891953937 747409355 984601582 232301590 887098120 253665519 333913638 471554730 886681678 140874989 909562613 385109168 525772942 113703859 610225892 176473439 927069101 494099631 557870300 888615369 218640624 478783449 679071977 861556094 422600055 178724929 298578113 633601065 660853994 800574191 435142733 503918087 924416881 771369878 228103453 756094795 828299724 741472772 207444059 910247813 160249386 995566077 137017154 838237941 717111128 370936165 842237120 932949435 688861794 849361711 231215222 435282042 622531009 758848929 130804969 614150909 685407021 880431033 836984827 119644778 240885950 846856428 215955174 909391658 847598192 389428893 538225021 680267906 884865730 737051545 717919900 102147275 858846045 963438867 469098931 382476092 546223749 404459948 882763527 927500213 500228356 892990649 982747408 514613154 365868495 590940970 532973766 372011107 767166602 968736297 548622806 682785285 638527841 449164657 454012612 116381967 660643785 833015876 299278184 995168226 344430650 932343887 914656568 581740853 684079385 789712964 133804137 839837059 592270810 155986372 894636915 289854251 216267226 490602138 374232885 702214264 166202908 166736763 194202134 772152143 740116925 579645974 434408655 879974635 456872855 831099550 391648007 171631250 501534367 477244843 343586209 662781186 204965365 149266133 813022659 352407851 826408617 652247497 947602570 689002271 294155931 919889434 237744947 596043020 600829968 713748038 826775946 681331387 216988557 537534464 741662531 906322278 559937726 458410968 497123259 884528881 781921052 668008244 880619009 150582694 817964160 594880264 533169686 654701238 116824575 448318428 586730594 332958159 836868955 409363916 881120326 609996289 845720124 365803187 677210858 606878311 794058897 589688029 795583758 531710081 552252430 567587704 171637898 270363716 399182160 380675287 888754750 413816459 797289952 478671821 458302273 153607986 862155146 635690967 735626956 400769443 412270836 585861608 808417797 635777333 645966426 842815887 690671145 905652646 935001910 706460466 524775805 265439711 439787992 271516563 353369411 520984616 292054807 233712603 329329045 804808390 482906486 471120857 160594031 365208149 169230668 857955217 939487695 122734260 674932557 464115371 158524841 666579797 911467324 210383111 546521149 726086056 506309215 315228609 108376425 557180121 486726329 993125707 895825766 580918374 153906253 874415792 118996438 289607420 643212147 259971341 506989016 495015076 207829476 785079538 364358151 605405137 772229641 640953470 623217875 313057511 649893979 307970248 115662546 763756512 213596925 227461602 643464811 298605316 375447779 944512154 917034717 511125856 170919915 642346271 777938291 635820508 337763553 609350986 377313369 566298729 605975925 631274224 852446821 628442704 363168753 871369246 819062830 730826288 195358158 562806031 874068042 979578058 445824361 255504880 169903784 637553189 588205783 965010903 726152905 893755059 179085926 871393627 263226571 176029024 199656427 143451547 404586913 361647089 801965847 305328411 199634196 489030716 636772039 907106703 793607906 381213866 889757092 101578034 820631860 324739110 586048709 447657152 208128447 773849556 762033599 478021064 126228240 780960250 380594777 580983453 594150691 295597890 377198785 329524034 141423743 950094510 244634182 858516703 348824008 492594286 789120206 994243563 159742782 480941699 640984087 767328538 602786573 118027483 866376026 298774325 769611037 564942254 537893052 887021637 448295021 903650077 740356732 822720287 621858933 142883840 277173800 372329241 635282021 367918656 212594641 749863425 417508852 625534309 496691969 678708978 412909064 868397567 173946391 941724551 635345555 737571222 369719172 278982424 241409346 919011418 514193965 819118923 297078239 221607037 657204434 533051707 252791632 865308964 989338712 219876201 259225937 780236735 250111341 837332823 888198081 433040885 411059323 197415524 972650339 780286013 100385873 159929291 253013513 158562102 951142321 581581195 891125142 245036772 635476527 426169306 774225585 954067324 783171862 698051052 315941510 134314798 832685674 919918943 666353247 537126978 391993540 346112291 369727653 449816557 167157409 281917220 297510273 481639755 731120589 867925144 672188575 989665117 568238243 851994135 844788524 310151862 673102285 929172598 583324418 195985216 902400720 960655807 857924817 217887323 407177813 984605153 186484066 760674404 687996317 135370919 791288052 703494471 527334014 482449817 194366587 571664663 383211513 729276178 198113821 297678645 196389612 626514174 341985258 851034262 394357945 493189791 341818898 392222897 447498441 969736135 307920583 599560837 861517053 229371857 449112088 762036341 545125780 503044436 298208035 155737285 307606244 355309913 497573218 393301125 132764427 885273218 409903974 214709092 438178809 255548585 888450633 575909833 769663198 474487519 645473585 257472072 264006036 845312659 788862922 172982969 608648589 997744297 386558270 791220989 652106237 981203653 159553071 850072171 216685590 453528111 971434149 521718010 599877137 716075775 501704253 473508487 293036379 995154035 302184660 484560762 854297027 168905082 807521994 843779189 569440896 364806391 874800994 663529798 292030156 856026365 566688037 821684976 574486598 450976954 237232141 557774830 250458526 694940171 864598303 537776207 340667143 274471181 948107828 441289219 230226984 866123612 336080200 848678440 874723410 291991950 974439081 834768852 482462964 493692835 161277678 953314435 886289747 586270568 827807275 179856697 623190502 157470575 901902002 574895432 830273793 724265761 522236518 435609035 279182127 890273111 245608353 127070952 850250175 666895303 520840615 543226047 959075436 777842098 684836798 356546582 106313958 927799702 701957211 265785483 101515644 477340710 704589285 727843986 477229708 184051827 426708552 242786841 414309217 398349792 494689586 722840877 539826112 945828936 643662123 806256510 563482886 288317350 354563595 817534387 303827232 418006820 606716777 983373117 118346464 888340011 631100006 810190065 406827562 301248720 867554935 140150747 562983418 752471855 238645646 551928983 276239958 612100555 850130408 733401803 543935543 934854434 486381207 169540582 701783756 610420274 556466146 985282918 916035385 136982772 805713391 684001132 283932759 406519852 434870504 384299700 719244903 412090268 695196841 939721063 106618371 151295441 138756516 623719906 829525719 905825396 585138950 416180777 567033602 526514796 983567505 676210648 505763186 636760360 307769358 483475107 499897454 759494074 856935432 632227286 469202159 778805629 127465407 968787376 529796297 593383053 683062701 998790900 119043086 977409993 134613671 988334515 405461373 155787419 797402532 702328316 857663648 217483668 768911419 881580525 938885776 843805290 463383495 453906150 338775706 574420312 714103306 433281694 591872056 623693337 473724348 763549012 429259644 205036714 879924599 505788971 763059128 661505933 747782379 713547609 278458240 953476438 279452543 941558495 384016721 504133078 554438987 619986771 181588165 366602267 662349441 994826651 886473256 692001999 489763483 730482089 532730150 805558328 381077574 171373591 953893850 370817590 229198203 341988742 964148740 251767629 464519990 324673143 919501750 123961426 880097214 210300017 240882227 557713865 851417240 727608418 272430265 743579891 988864436 774589873 671830201 897424834 258314237 239934007 149124544 877782010 258647670 691601901 906728169 844785370 587498716 823515349 750069553 583612100 420710479 768181986 797136703 922996974 615277049 449463641 387580460 104422777 391432790 157064469 298621795 934760579 327564497 202446112 738114241 166256021 462868496 284406258 965188945 607537298 795131393 786432610 161013990 414790198 373104426 853720922 365098794 906202433 958192187 499983366 581160619 765473185 575810464 264637881 831797525 832123043 391345496 271710464 611061639 407759464 328482269 140263269 386500216 413456656 337579843 912150541 701643028 669344071 303795153 772142166 318818142 255346899 736133616 830175145 902378658 353914149 533477731 664919599 243018791 822140189 322985468 169217338 433541989 209275072 814115889 151428960 463526463 381195551 858932494 431222375 381438230 852003728 365090066 254402153 575638758 203663624 993402919 141123890 436976940 314304150 847997631 544251598 181142289 788293316 151257257 593863646 511828456 697232933 984338620 615228289 885657621 606718657 772058053 710068197 593433672 153573847 968771501 479017107 564984984 358217009 996273556 510946854 541389752 168837972 576058453 289200492 769713352 141607380 711317456 203555489 895045717 910210325 592156550 130808573 432047358 888311169 659732091 248829234 167310370 450423711 898496842 416880746 284081767 563318870 977317914 889379197 451668181 493974178 870453382 526828664 545287359 740454926 531374421 964621001 206569305 125046992 596734641 659979320 229004376 623129388 363708286 630409659 306349995 788520697 976670234 635724106 402644182 102696175 750459593 972542604 213965611 291344070 275481949 486344028 550569557 981093315 203560179 156773724 692309683 368803275 481647455 817052632 231515963 457994126 488069363 707345021 861375847 426136714 769375645 118098349 409669511 702909497 413494929 430244487 600238333 622091711 967241182 890613512 303016076 506666629 482440215 360355777 942815650 974766573 434040991 627703332 756793679 976563496 594165756 414925478 618001158 884472682 622816835 256653417 598160509 362169392 981123710 811135514 540030637 606010782 868232640 758414026 316886699 481973867 180260493 248658458 423432523 174335798 842473356 904187668 477660081 733503318 360960347 766711913 390978652 371491067 498275981 482117962 323507890 777310437 711353182 214795172 861468904 980195674 305954100 687600551 258249875 606970420 837854840 886159773 899840999 830140412 808686016 601421646 228203161 621289679 125461244 828759822 888774642 553913532 986726630 732421001 949535264 374994994 175249397 326126749 462717525 359560500 446327121 496457443 512609439 177944140 549041646 377330870 449551973 627359778 683633995 509853668 531949939 195342780 396366052 587080726 803102487 554695321 894838252 593402512 300558247 546272544 664298774 942318330 924298015 731694171 803326511 454730310 180886069 213579144 607617530 951858546 623797918 580372723 967040250 281298380 207863414 486187445 286200117 408907580 579128312 769108065 284467057 720046911 868340551 502478562 587255299 963368750 791088878 498691603 419309783 781155657 305277261 833316315 735382551 929654877 557751606 537333504 131379575 158791988 335143269 483628846 186560270 827796350 660519741 962470231 566010703 312932799 476419517 641992504 602088047 100618562 255531769 929749647 473420302 529369142 884920186 845002677 341465572 715247469 575293527 486821975 430236480 666024895 335066878 125092144 211499026 225411130 324860935 906081246 758256960 932267860 673425162 558227113 571935255 688102162 729507027 716810572 678436298 508741322 589393819 113270124 958320854 666877622 553729502 329105371 486068290 501045781 715372178 911574415 942999947 649387669 707112884 884750676 763262620 176729192 125113402 939209981 145213706 492203907 266295567 345888857 552710475 656961591 601689798 544202807 177044860 366083019 384165515 716741615 954304117 327676987 383789792 926651053 148513856 609830851 466455005 657515083 273466275 702444416 931216736 321282092 723575201 147296204 466809655 127671309 716226096 536908446 376279379 735047272 752099027 393690025 132476711 853194968 509076880 341532427 511006033 121609751 326648562 587029933 947357860 800305513 891723723 192179982 508315674 245739504 181550321 935549894 506096080 307182803 422029395 664965659 214014482 351866922 561833795 264026098 516895634 827683683 488938615 674008546 206470162 380946235 558714111 541417451 910336692 981235756 881596552 287833037 639499105 994571338 537958164 677554525 699877737 897786539 779851434 476218366 798824234 762339017 629745496 911410132 445040638 865790300 160799165 815569031 544444540 315593477 735358137 601947554 647280387 806935467 417958639 196166336 973481124 166785832 686935716 348108720 435913782 244562391 884803280 694530064 603659333 422972409 792645218 217340577 672529658 218567526 414847210 152016945 249697944 599143284 231796596 569087183 965236728 916066620 601104103 900708627 302049294 741353450 448975746 275431657 536441309 690726634 167901228 490203530 443363707 916124013 987665581 933801519 450958523 710613603 382897961 487764114 503303884 841206256 362404400 996529563 940738850 197328643 171792629 920360517 907562849 164907324 304892154 733318225 583090816 673969811 531804586 931754566 728700041 856671895 552270796 695413038 886856293 786394390 693375376 525676074 548152203 153824712 532472280 890023248 128670456 787555602 130050663 777098250 864574910 673942648 788271832 104702006 251932087 697105018 306375371 620891221 618236427 298225714 810154856 197357262 922611969 733999719 355876985 835294757 260162022 909069085 722522838 776712922 425332384 597274675 341085500 340801789 752749895 274385622 285282049 488586628 540397297 440291961 931856256 423784619 946381205 652120316 390364094 373891124 327934799 379545995 102746708 220526100 892101942 391681774 977471329 255566605 574436018 853122984 677871302 143922787 355811015 990229781 924857694 746662272 788039308 277626117 986255838 835718084 951714952 635554453 735906322 964792036 108159226 431008312 184910239 725806136 128762788 406682789 831272696 763734030 779908800 670366119 454626277 662913059 168155274 553101614 971284376 593244031 382166521 645686690 582757821 954227427 968181843 994971730 558754664 936500993 366581395 933771598 342042837 571928334 317971962 820421433 417852659 946802834 274379921 487510152 762602204 870596091 205813826 564789438 886644488 203659653 766181252 138943563 488821741 599110936 726674512 602538923 450024992 520039983 896715615 350665839 482674186 368455980 922707271 939655995 492684478 499340247 441878295 233278924 920020029 195406442 249243305 525276634 971322311 658529647 258340490 308089700 168309874 368550188 204216028 831485048 634942234 203652380 220379160 561016611 266813796 891302196 937719758 998649456 714428783 289155261 498322822 326604444 206663192 548197318 443452050 950525983 789937282 392222485 794559048 910408887 985333686 713257365 418240585 122805539 481124543 441317963 716194488 955476134 129356633 445658426 893637383 763501836 979599293 543735200 596061575 716134720 141226611 410899066 996311235 635703257 197513630 557922616 260611933 199458393 208261260 960629049 677043118 174053203 130540142 523553777 169864773 791120282 975302008 694590489 806752394 967422176 119570796 423881639 228022367 220991883 780751221 916175732 526975778 429595626 298446463 359497744 434389517 517781063 479921342 273278208 313191624 562171918 778869716 436097625 393090041 907935689 282677967 100524394 569179620 611773237 129397305 178978313 835337979 112513026 821243185 624017466 265873730 818929241 248334330 512170230 477295720 880896224 651457512 733412787 550730313 675762356 406954062 628924409 946364821 961222750 696100477 394799458 630976393 141309284 558713329 294489182 925784150 862607293 110161862 531394599 736235178 546079016 971304977 239717565 733282142 278855164 803506096 232372444 263667361 420686847 443491733 781434183 449100215 479946171 202767794 819345846 167753424 497640514 787877328 263304500 237483884 998201505 725482954 767075930 232391947 176350813 401646911 680299603 454871562 302039011 870802313 518386941 228947975 957303645 412790892 237914796 950894118 160069418 993878098 250936133 775284720 995830915 620267929 843583644 517763899 588466310 704856522 472768209 308840433 431716915 440979772 446765129 643058110 727423242 385501685 476009282 139326982 809876050 277762098 983115761 137731306 187580196 371971472 679465129 793231372 124278076 694720072 835438784 215363078 516738220 206309250 375905100 841795752 379222315 515438321 460210215 596654401 184806618 571323437 217550978 509853568 526903416 324645357 634968584 521845675 534746019 631522126 809010593 766060235 383411221 262585282 681648006 887798541 942119312 774017269 433432877 211732305 977091790 211560459 630004316 166281113 596688900 969166962 850533892 676610498 723004450 141543824 167306407 205604345 296865282 821752273 296799468 893349489 766764665 240104571 238836535 601886287 229412883 644756144 267800356 404793106 185738390 807273838 881803241 997157211 385860536 865377429 169765228 200319761 763147735 103408941 993642183 541879308 550282702 209332436 903615065 639479123 623170285 771194371 177773089 718053529 393885702 563172268 845551273 163932792 164778464 898659047 223596807 423733802 897436587 420256230 255149120 517936523 311672327 114124378 962697601 860487640 878632142 645256288 320593123 938375199 192512615 549317468 177716602 630481781 458021954 633695013 990910743 350601233 843671375 887453783 996522413 735785232 243426832 195633053 537260612 112015220 787666586 886879865 718496856 608700014 677689843 373380820 393436428 542671326 714576648 104867623 713903807 277079453 908744697 164989749 111983274 408297200 360256855 713198974 863738826 322239038 776484224 489664462 332529581 292167135 782143500 330913474 897372823 473675042 693920497 216174687 428955174 813376146 671988526 638138647 868555309 252585907 368471136 796866010 783473397 909224405 997814108 416280049 155474582 851893829 488004216 671563489 231239427 918104173 303771647 615021802 125745211 548615236 298780764 217195305 553909437 798406675 840512623 531847847 307506847 525564309 289756043 731336612 851911777 950774424 283948463 321390015 265231997 601990007 782638412 861809283 851456042 805893644 981158312 596396827 851229016 682128885 790592683 434705517 497586837 547074770 269300237 585677984 645909294 481317270 436268021 224746640 481730097 321175297 202409968 667380838 906497785 881106578 637536973 185941829 656086968 368563905 299136040 197631991 593496201 205023457 266518505 722036454 104180178 572088459 163150824 709462653 204715497 647013956 706195503 784545946 488762969 811788232 797549868 784297764 709017479 622657506 599486307 485974092 874857970 544340709 182023120 463794465 280122353 687434052 240193360 186120166 814688261 942731010 336720884 597420475 393895481 491924839 114429756 451140076 444273976 595551848 316982896 505778581 671295529 955593218 721144551 416201034 690368582 639682879 178201417 745330656 543693542 720307236 624439456 714863916 730673631 153199090 108445172 407952108 553513274 545424314 941106801 150501479 619757548 495597974 759396282 983188084 943372987 143528398 576323461 225513002 581221539 836046067 471503509 819619302 823561008 155547721 737419733 623225973 712043607 103276175 133619983 731537820 948273135 592162129 503932647 866255102 251694360 538169594 420368588 885661738 807742101 808973426 660600514 827856812 767437224 195330443 737043717 614315528 189795062 642508342 737005470 146316091 953529531 703546915 584969415 624807566 984275103 556918548 438344502 181619202 751090636 939887954 574467595 932225930 804110224 546200459 440218158 976947072 756585009 450492839 946881542 922192379 858338252 111907789 635757816 715340824 679443374 653541737 654364281 381909218 269200076 830955921 164488200 269330673 876281773 229601471 403544666 903161448 522057848 273125945 662542951 735603132 237367150 729253496 508649390 220546024 763844951 443232543 113562998 722030470 256818511 522647555 300582384 648079079 317991937 577672074 587934198 725356978 108911630 443074551 406740317 154944373 410479174 332530537 322961295 699484526 325222888 676167526 952149633 693035212 982802496 292364542 447979970 523890980 398111575 187257494 821740475 960590240 154295261 699759482 458855651 683813432 179331561 130284344 631311085 420334264 932433836 823033753 321865237 773154822 282826915 542102157 397075172 610359313 768925787 542610768 569192530 183851353 102165551 849610671 617774668 136532671 620562639 786425382 261350194 991833599 713627147 549405565 797898884 913537844 882101071 927460412 113693471 480333807 625332489 515297350 703339847 416170764 179192713 744508843 340097075 156138267 214381905 956117085 681156210 532280168 814615709 476057908 264295917 487947295 729965270 305237251 235645826 217533748 119728870 627457578 219609636 806418335 529403203 333536225 301118152 738194732 185463087 442286513 682169494 323017450 945284864 871818493 801432484 606441613 377485825 199557927 871941178 622058286 450134717 447383091 439779908 175864241 498907367 136787261 764373667 806583044 901626953 578767271 820210589 561235765 690238052 246014363 732184578 125776498 642821031 229051358 367423932 500592783 896071994 311259167 692675844 770381419 855552351 633234454 751051222 408375173 727687103 527891457 156506000 187856614 451722216 124726740 286885059 712644815 888565174 821340377 100087187 814171079 418295878 628473988 390462175 429540655 637422034 388902143 629437265 614209664 744368335 707776571 708258246 616791876 366310461 217372648 651974535 447708788 190774303 503924187 576367182 334954462 635589445 161005289 447968108 341984344 806541563 662098227 441228977 976521873 486139692 307484107 511113534 813184442 707342283 349181008 716849135 438448896 818058327 413281235 802973438 983402241 578355823 736398979 793713755 477604802 317286769 502562132 843711436 267801082 312822877 267986123 384412498 917007126 451047175 206256177 182779482 151977658 816120250 592669431 111358005 300244046 915243801 803526115 409792546 827103316 390997474 931877690 647325885 604222702 678820007 124356644 472889803 377977749 760448029 427239837 296628573 101437264 185064586 984934319 525503255 773538439 102337237 513986748 554866441 651858536 248047031 205998164 401561286 683077101 995529667 361520641 461802124 779152489 114943588 948082416 638468653 981070902 622291065 956759681 306590236 372746730 792222983 944620043 242353958 363585175 248894204 658102716 565028883 458286564 424405783 598980936 789844872 324882975 430827688 770053911 850995095 349005916 963799509 578641888 723300112 274781334 310180868 740218839 325586677 824384965 447543039 568355232 852165783 732347158 460997985 895483676 413647913 242107119 120588848 727202720 474191051 524521505 612458290 640045613 526965659 478767112 374504308 267066086 570158658 970155310 503784149 888291676 433775301 496624080 146989576 660315164 824225556 188559597 607812078 789220443 769224434 444472365 929029615 493895600 496409396 805320890 963455611 843366551 794191973 269443684 760954502 907264925 889278184 242102060 478342999 438431690 930482833 631989016 586689990 422640262 599324134 328354620 192446562 138032563 757009984 496824738 753851843 410343925 602667281 934006319 598345266 622848739 693260532 706607369 803908167 936115126 281415377 478149017 338407374 762350692 816396808 652441551 360187808 299801796 385770423 525610644 718770721 305023535 682956748 220588534 959140429 277044386 878120644 857358680 286252550 688351050 832228059 282085062 685906954 353639042 432419649 820006889 364118797 376003093 677859936 261678599 133384003 899393561 535097916 746008690 928655839 182557979 852521585 770309254 355590742 763098969 737046317 329451637 281431793 828127082 946396691 772224888 164235403 895051769 406315276 421495187 838126555 823724832 614837416 660223008 764802863 775286123 343046312 670477455 282760204 210124296 330647616 104813054 731415027 537705211 126859259 684152396 759495913 514233138 961622636 336177178 961021359 351548906 442754168 187930299 697021968 665035268 704425061 772971022 753798744 493070954 160345232 900452366 706889512 242472174 591156513 632028433 639782917 135490588 608124403 315066131 560348805 500483497 766798731 286792034 286267030 402158034 657827403 575482236 604920396 353604202 444123349 877611097 527977171 942674981 194659942 513853423 993766835 911953399 280363759 139405818 630267213 893731118 606929935 581287607 887799270 713123742 637402965 157893783 252811102 958309049 730653892 844750201 152664460 323219267 337474201 349402596 224860728 751499940 350519945 949167715 589933093 595552092 826904239 812694261 749569765 517112204 510495079 797254946 822435089 163607191 451509595 675311673 323592862 347768558 934732784 256446924 909216986 127116675 309102819 698330567 350346618 190785685 550606890 942549079 600727883 471620236 344036791 627192334 106032163 550433869 296819262 637313198 655928635 510477391 757031435 719649784 657286026 265805248 579745614 793105461 706917650 764140372 859532936 425869433 889199475 716530156 188830336 473134242 592617566 820663695 597701461 725168180 936402847 162590440 359807027 168115216 889279194 677288047 221120247 869624059 339890129 227796154 351566002 856215066 682033361 775898198 691053744 166004344 117175530 998328694 214177512 744098308 681584535 427564123 757604386 677793621 534485775 813164974 946942209 447254701 779901210 675496069 647137283 720606152 991355484 342500377 706823727 598961373 126786891 360922716 159430892 598639273 353158514 738816915 169643119 527351308 573370487 124223710 407758901 678659462 754906670 687691694 702488653 695900313 432624282 697617021 931307759 525970474 475694476 884024647 564037726 443805928 979031953 567897114 961605406 914402245 802492998 672048596 527675942 364652364 269523176 810469407 701537208 865315578 888851789 360905063 267372264 414070539 394744605 455423813 640109990 366819927 285326265 779761291 211610137 436139070 941159770 830984679 255105931 451461484 531841555 602182923 258182357 284586072 474250236 941903940 917824871 570858425 345594943 130070171 871306160 105031832 549244974 966406517 997245365 251244617 788572201 883449922 563527461 500319072 164388445 840234509 748843089 337010060 111903256 643925515 957282124 395004444 289009278 957885914 724422299 845502084 397885980 420119702 352866168 371601259 345444838 800980297 123677828 851244575 224444771 108336234 889950410 212300705 297995496 962662634 528481994 206538564 310459368 893091927 408157558 435117150 635696273 959094114 800146955 448199245 874140961 836396594 542584952 620290544 722659378 444435326 157096240 516598366 802227471 373754884 124866778 848276693 942687592 733546261 861399221 356969972 250030462 687268401 495257412 468564745 583195660 598707865 205757107 659793575 145990204 720131223 169720012 469821806 688216136 262432002 995069371 105861625 347370164 295065368 741612253 827121753 629555969 823759445 633628625 920284723 927925122 350956765 122517341 365880297 697019799 841082601 803576616 960985033 592500435 387135544 707571185 934831410 705281251 666575221 889915524 330483835 463818285 707175709 544498741 317252321 976531983 502194403 199901591 617927362 421183353 102355607 246587583 428902874 866498810 841637160 986194180 330642193 437244387 780128362 229493350 865690378 745009258 543502196 112248068 442089931 601074742 462795987 503087852 246394369 885122278 877585500 226583263 981564378 993722495 876029879 471279125 879713390 447899351 373482210 634497296 581431941 113599703 260396478 981007566 664536656 641691498 511299518 580772684 139034128 830482358 575830457 264052847 932222493 930296991 823931922 122228527 128679946 777234879 979708424 252346592 797900725 990376495 517985545 360608074 800843146 425079957 710337920 760170471 346902354 733013176 727946797 295346138 697756869 636679375 843362558 537419333 594871201 893911985 187786503 232527439 758098992 206569426 101378654 280053043 303692009 738147626 107717961 439481462 376868570 274953037 780756047 724747097 734052217 279471107 140094762 675887937 478021119 701229504 487171533 407630410 297144802 754403786 224667517 854684343 761656657 833197018 850137778 129722269 544666215 708688439 816090108 258843274 591492315 476151293 107532354 780562422 705459545 519127806 943262381 115582412 118916154 814969313 854470245 718078164 637426963 201967020 402019523 475685694 643048194 327660618 206591433 953205421 882105042 315203859 941269330 549065535 273745010 656905303 814115578 663896232 714487952 866824624 537708216 863306206 375486153 602409199 198921960 652903760 806613623 963990311 220563877 909936438 650215880 212839520 874789827 795232262 248650684 364672240 302614165 513594700 491212205 601677920 457737889 833713832 311022208 954839650 123974569 841717848 335757074 182564987 110020090 982139224 306851093 561401488 482602155 426724924 773847149 853677369 303383001 443207118 641072502 913734230 768677007 460034679 958794128 971601671 761874329 340100228 658048591 182782094 864588415 454448845 890472825 616283643 922402962 322133700 927633511 914912590 334398428 351348982 940527102 436186129 864155184 523180802 397403136 460198104 508701345 780318801 199332586 950498511 854684021 363911636 597816406 948860978 425882066 922814743 331224726 191172852 407114513 871023642 261117630 227341698 166337034 984708481 655397773 489869544 883760396 788021087 630088202 961240950 637207375 416881009 544365354 725538386 686039786 241982444 442038506 552163285 184521666 940454363 581027228 793427109 987373641 498864178 828470619 981204998 530909055 117653378 203085882 395518433 692159475 429640296 150582641 175659947 105742137 158721205 940977989 936771782 172200372 435195369 994367755 458604299 491105939 671200402 641588237 887491209 894481295 742886558 881832004 918798870 286030760 899685939 681156058 411188002 498651388 450832886 116204318 150976996 180664457 967000628 187382943 693623216 742544005 760587509 203589375 458744544 798253778 508658902 845180690 198065897 117075598 766840830 247702893 260588060 783790366 610898111 322523310 725136243 737665583 828410033 309442354 501488407 753753449 857285155 215602214 667622601 824186985 453163058 880935989 415041839 129242434 966160061 250518274 288386533 156054883 946889156 961040213 939634054 848003157 240002545 545403904 478095280 771202659 598377823 456315924 788257614 319005758 441025909 812361573 743859544 297475547 304475190 690346341 364017584 401980643 265990774 502440516 590819695 860832573 925077933 397555765 957203179 780952615 488998739 992343160 838042300 953980554 914473124 282966912 685647076 548260905 946960837 400303298 877544348 881635872 667132509 756575239 708734878 575560207 247868321 643157529 965955458 976630359 627301978 426111006 216886725 829754663 701796291 728952328 433941573 854885107 804568466 490239707 946213042 670680359 119743979 927132954 353786132 495205019 158219165 184850136 449790784 385501055 216019578 792005644 371054402 290485004 104497462 716847873 102659302 401792326 489065405 381790333 364043813 310414394 708988321 480311091 174349617 646378829 608322083 487438642 828792139 507322769 918864295 856431085 799936350 820859865 190890414 649643922 903036458 298364329 274017576 729046897 451174152 803427802 849568995 432242129 784111295 234782310 779350462 222434414 578764268 892338532 185412450 526401164 157032870 632061635 493872330 840598677 886136400 354861555 673913905 466195933 314069090 109362588 618902917 748434205 467797818 432348739 580072568 699088908 628816489 964803336 832489109 143634262 433907980 503109835 631425005 965026382 911748673 793043514 222919874 623525986 539813554 873360888 208981913 986682309 454050819 439539626 721473304 352031020 143716411 429377043 816825102 774914422 274560147 685680335 879969468 760542723 180574585 792930747 519677026 870560614 135539524 345399814 254858130 216214488 966545889 711690408 930675103 657240768 769823206 172314914 436525590 386390104 447953720 883144534 192022086 431467347 666233085 670273051 335427873 440358425 401129942 518490812 966522077 212768576 147363039 676886536 638920414 985819327 147215002 963507076 956207860 301416288 254511025 810716959 357579355 908452254 383508527 518997817 849446485 415686306 778838281 874515810 735472174 406448094 134088218 188347511 264303055 834140681 453031514 284128888 525474442 731357011 800278845 403215792 456554243 681372274 351365708 965647394 935910729 705978563 380193954 509107607 521394365 495520949 453774393 598522400 482467729 149530386 523306351 842702659 239849203 839685487 269952273 226923239 269133410 555630796 248059586 447598704 313168184 758211191 793291120 141692796 790646059 340888483 108058967 261079244 548221506 727356363 567853868 148369147 435316903 835723419 926457540 296350150 983491919 113938541 401235361 888524504 550664342 351036501 376575922 259546202 472324020 777667623 326440234 805076765 644365220 339547807 307182169 811347486 297994718 622126365 492777494 223685788 855741918 438701552 866786882 819971881 814105028 859153969 162680303 465149144 235267016 956819462 372575502 229833828 739346278 606109227 683093292 660405707 488459841 329888744 457952254 893704963 208394247 245268942 516866558 448891323 312639437 197647443 740665364 539441054 534305747 685195365 366942987 118103471 759656341 661377052 841048333 738039138 557805064 902021161 950948578 914099556 444471924 926376737 870725263 700374289 198168883 563310733 728560634 124367505 608424739 468965704 363444304 937604258 937991628 139655421 336995558 984082104 481390456 560735388 767938331 237405591 651246991 378277250 265032148 433873787 651270545 766512835 920452899 265317521 488232044 511269450 483127646 115424341 523852942 100132253 638362742 326080396 348088214 847557451 375589442 168649474 373216302 505529423 352821620 886402887 458443440 975475516 441340117 996768550 320176778 817008757 168641049 211153925 153190248 845989062 355225589 945356895 934066648 441739252 327323845 567440360 933485971 647112516 832244082 668759152 336208643 573583160 338463130 790873428 123624402 603974388 844438027 352190275 159233048 176784620 315054403 964188792 275743687 455789975 512236657 540150506 725907552 937853962 876496046 879305702 693932329 914524368 192183069 697040553 237582117 444532153 436928591 777934969 312869300 244461055 406362793 677336022 848783427 505718122 291634809 608449119 219912653 964083830 895987082 209784662 939072572 776803400 184449217 359666299 494331865 414537183 840240980 635101493 470468350 828655738 334173890 995321102 416543641 159473779 285465214 567067785 182504013 598884753 752594625 240157876 546083048 528856906 665948067 182814758 678251004 192724435 736955513 933255631 512882633 418643856 874760679 225816211 939704441 557992649 625116819 811264385 290922405 533305734 479208176 519107375 442685528 182612551 710427104 120285590 703129820 483359517 203131288 109538897 121577789 722677538 516977621 829745134 684905932 121192085 230962178 497988524 551397287 812576473 378588988 858204654 710711698 228722231 161383960 298326932 302518995 760854356 853620472 221867352 860092133 727514762 329442979 603045151 720389305 407485148 162643401 896573275 758971119 107416907 170052393 885465207 684121800 753443312 291107002 710919441 698052656 379909522 235456242 907910787 110568432 968197140 427216549 791900317 928261010 477578360 604336164 696826149 767013188 589463741 723515841 748606410 195797447 492656531 750140327 194132356 157323104 999892204 822680271 855932667 517993231 849954677 346273637 757399003 665783294 224584292 693572114 544945389 836879466 678657190 708679558 353753717 296862250 533947683 727725458 383891520 904402873 222824563 251928076 112464541 925457271 950191924 819282954 994704996 125793294 494783247 519650360 656635502 448217704 736480501 550455865 145854820 466065288 285185682 786168727 166884206 147063655 787584351 599671181 882114444 739647026 693855278 579648148 680432079 991630936 430187960 124601469 174359614 797413411 892122528 866579242 228186634 490279957 123254405 896674775 571729129 889220703 707410461 584350499 513064612 106837708 634225530 208892441 931800657 230646316 746401343 342414574 292277983 284276952 660407536 590313513 929489627 427871122 479595811 621445746 375516644 498469918 635263517 813677689 261256419 192583885 324453429 419188784 497998026 599887915 903811432 815430948 575608375 195086232 639233684 961172974 881619486 340672235 492000809 885032811 175996528 116803681 452228437 249583202 134365460 405566659 557021213 480638472 578191517 371803771 703258714 965508359 862978186 301021276 386055123 230412463 376734839 594160053 944159026 639090461 158205274 483395908 464554117 411025175 556950763 247521579 642315453 343837538 761559877 534462983 798550539 562606090 974064787 427504692 676852767 252077334 263290197 975874936 281914697 155344075 442803412 263521736 642919945 224968689 286292207 706979111 939189875 805468394 563149744 925166260 200255552 236341543 447393682 888855315 340619284 921143692 425403268 656590958 660381664 249570314 358585480 871015019 451550417 720258800 185770446 825247474 919292141 190099980 868114213 780238908 577098200 149212448 395690889 602189069 973366715 976366765 481226377 150461105 865355463 744127370 419741221 983290115 513310423 128792525 819945381 165836909 494930112 293487335 289321588 742594143 396298073 178041277 159314978 518555002 943171260 593705800 861613770 846870975 584134342 338858005 268170100 789863017 307282271 592952733 293963867 209784980 614281592 164066080 284934525 370139793 703577207 587251684 303726940 713641680 904341311 228698144 840504169 939025822 127448789 537862451 974879354 366278456 109590658 930541875 422262782 837269569 480242879 442939411 475478288 405896404 258121021 443279413 633051540 204704732 524352568 273945104 297872316 904721577 611152958 122198469 314602508 511963515 344264347 893453588 977434299 996735754 224217030 213978407 793187119 912137712 232452595 406441737 321169751 155650330 144386680 471300193 939874984 671247370 856620946 600385290 345464444 294993625 997497762 651457971 776965929 130438046 794013518 835542119 942059119 832697286 270361838 977555721 523737947 198801666 723022515 467859303 883026686 345311538 842644360 813726544 136890814 678644048 379070201 175702002 493079476 878727151 369951228 830734724 325576453 257395140 837772497 442041190 489323479 225452915 877855028 143988381 194271917 362924876 478437696 191315795 205009106 400402325 710999168 704906666 565368566 506799547 829312462 106295099 741165273 498927026 210519686 265851798 938563437 491661878 235983818 810007494 689587119 727432129 370644805 126058974 872774928 483253847 226109244 119708988 482520878 744023249 124494431 927399149 171208348 776347040 145910007 320528811 878822017 461005689 984028776 210861045 289042491 912891926 802540722 760105993 235074459 757532153 705101348 596352129 286248478 653722548 947758510 952886834 197347676 365110541 389214394 878907120 478339637 286198733 822687733 866636176 966097691 504957995 816526404 470099852 654382568 499191630 587979792 703238650 106841260 798636598 523755240 251956775 429539532 680120242 736888188 152800591 522345566 863719571 829214260 544482548 849898052 540918204 878849454 483582795 780761468 285610457 822886813 914982057 507364329 601217489 599953030 357289107 284431593 646142643 774220270 484645526 802833095 368678561 564306533 244485150 702274073 659237920 437516868 647240163 548539117 955922148 856444215 567378317 245745218 760735115 127705904 259404136 706383392 933757906 696964813 637045590 560749617 707295917 505064718 800331992 925231412 639153733 517695627 501726516 973416264 344839808 467785237 592677627 389468695 991575756 315981810 722214593 319946164 181544562 925754733 818063407 743811813 240349735 987838096 802132856 555910180 806826190 410711435 530035700 794926047 630046150 371706558 698089281 951741374 867428677 332818775 344407187 915456588 482955531 371734646 158077541 857135050 984954102 508550615 732002557 231797662 578146447 306168030 720706938 742724776 894986122 918579420 103741293 455209406 709594674 324204678 635470854 807030176 629422083 862322437 650303966 274682315 643264542 907157360 669057144 328006482 740618701 399359638 851506730 492348389 312415827 547481382 829669751 611181572 608847496 188768782 171554946 427869620 824619742 202675737 171189008 700191724 875102580 476158125 624234048 446414683 928774594 903197950 757654900 154683957 391810286 285185424 116798142 919233556 130099551 612603353 141092722 281599070 157543723 182371516 739759130 733224711 275983644 390754202 859654529 554372746 831522588 650286891 352978905 341261530 975055975 405881904 375545715 118213479 303840318 465892475 670568429 518242419 476184449 924415091 914765148 968621106 218223630 629750334 511495923 234734674 644256046 958006381 621471459 919335164 477002295 348566093 618835704 553465697 201608944 765549065 690905290 132926450 308738650 791875385 190044279 902516767 883337032 235613719 491124553 538063103 690465081 318991141 650942556 554711298 217023791 399591493 832655068 956587362 283025118 154316545 758330645 435376665 877980095 111775982 715386065 901708799 239413412 218431941 807451271 594162128 460766611 139603151 687807260 803311694 236822999 880062736 122294181 411983767 153598830 291541321 677709004 162060678 653191382 936840336 893867442 641826506 551609118 742007263 623683271 269319202 299740376 459341512 582233660 956053500 379019530 549323253 904054125 109224401 859072460 519912974 349061012 155282622 888541000 173985652 148860456 695846553 428574274 261147267 460581344 906752383 868195232 559089351 662541606 921542443 416034994 334657003 563626681 970214007 921675084 464830619 131625811 760423861 776493428 702541808 774287006 571738637 140617109 986249008 205923742 258527036 402464984 826514410 841704778 484147747 661744467 314420335 384654994 842537942 541690667 910813664 374742056 737880090 256048582 894643835 126079123 866692525 915677959 232411792 540632120 237602448 694641534 957704467 213970699 945630633 242268954 595971948 420497462 545730276 284722006 532918250 295491709 791143810 654533367 481089752 756081631 333733333 563470578 594449942 168879004 488728452 622575586 960417193 564844440 944738735 672465244 126403593 523954802 347708845 456058548 520990763 911271108 480173791 818761901 955996612 704306020 228168162 921375836 358732074 537479210 413350009 776043457 301758568 106771668 120636098 365591785 811438234 306481546 360860600 538327288 454721437 304227670 468608176 820770832 211021855 173577041 995010931 415634518 733828177 512690435 221257510 204721975 992177467 750540360 506820858 573264349 516283264 767450044 242568230 765845188 177992096 115222940 431390634 479272980 140878038 805193884 135712849 325756944 370813937 947903401 910488743 409794403 647253470 262996326 167260700 581232613 855001301 512552131 734222662 483558826 345313308 399199848 935945184 729657198 275444133 803030350 315749239 176204935 992111862 819200001 112140647 350473632 909371437 830646835 587427247 606088791 812270433 241472556 251212951 364190980 119774180 382664519 519287160 842767671 179535772 754514022 780627909 180474942 744710533 990994977 638936447 802896241 975797751 578046283 575204997 182827693 437288601 111302445 961308777 945499901 606452714 405145830 995908390 631587434 668608313 514426148 176329949 540979212 106504848 570800821 118628933 140908503 607776031 210223435 691065187 300074841 467266968 788998807 849737400 343981775 557901312 311401997 258496719 634039054 805510474 494187267 844670285 601707253 579243736 705736157 396584738 525330274 329740022 805248768 601137516 447091044 181540339 138554914 297608172 589449646 433274529 771417036 331722898 420129731 802319923 311280926 197589808 389472734 121093331 397319231 117114492 463422121 992759958 830050309 588802716 206513547 550428800 400013444 924399680 503701886 603886760 745726209 339026738 730551512 570552997 718513533 981425119 286499216 271090504 819230229 912518779 427806972 374868256 690964184 934295697 724857716 156174275 783330363 396654738 922164162 578766863 370412319 857878289 858630326 136776068 947551112 755518083 917401828 836441757 213786962 543807744 969456146 510947311 518492136 844438734 353316665 800575271 360954813 527097553 832072946 923171619 558293840 292563197 565738409 634833490 532859054 911530471 184242207 124175503 728965733 368952823 712876591 810911819 777143711 200575313 189761048 762982887 271360084 952964210 529234446 140715033 930560199 728131122 577187300 849321710 704990011 196291580 850125374 592948081 763466223 186982029 219135566 919792396 620503997 605311881 401954346 677175357 831367993 868668637 945517531 136588407 617421262 756724850 323630341 698926063 397113538 450865192 665766473 639913410 942385457 675378724 136636592 523591812 990330170 264019987 524773431 396503503 220230894 654100594 129419267 834786584 252310973 268144029 103574790 834055088 257600729 332256297 521968738 315254026 913915615 421527701 535738341 943070580 228311289 223040973 863467852 839921861 699734796 567786139 864338517 224709406 921836223 437956186 877694823 177368122 561039193 893299429 633442460 978876956 852504488 696994837 125910515 281456885 797389981 808335387 160940577 867091719 995992505 477141904 658802075 160699716 922657485 854320181 834558899 211645233 701103619 206373377 846117443 110731669 978241773 317287493 910162355 712989795 619831068 200795684 187882805 472089234 767570694 200271119 620636221 751873824 331139326 417461119 384247584 396256748 675356215 642082133 313236613 187629864 317007033 282994409 109789542 536747383 708232268 272941603 106875631 587314837 942904202 467534090 807198392 466613667 603954280 715544432 664967144 657195264 413268553 644198256 901712040 123729616 329006596 608551189 719246513 875698701 290962030 507929470 305802560 937167070 268936129 833220306 503957701 461241144 745403653 961409318 995704605 603889540 414481435 649969493 917492108 476761548 903443434 615054969 363087255 262995016 521504317 929785737 264692164 369161425 554233154 314646678 906685032 749328516 790377649 678087908 730276272 736573188 603204519 587091072 304518342 574877228 225837030 327365570 340428256 682496621 511771487 713507825 932200727 151079255 208256097 920213893 992056486 889108203 402642271 122754992 766805226 744937704 432193482 847974616 803401761 615954909 839439714 974966777 930197280 344032773 435483504 438054247 102163356 841865842 167127656 471735009 463312487 110979996 583680935 436776968 123473261 366608641 990642686 405246976 178520138 714072084 842426482 848978537 697223757 146984844 162582338 594278841 182808298 759919456 558197657 771849234 753352505 826752995 864759585 618908407 164397277 395521837 824025152 388870838 713288575 941685746 176983154 765836392 648837004 638913583 524982305 588619552 251773286 717264087 998568434 387272499 749169794 845672495 912431707 767945096 274051975 927639127 795913447 763565219 739044484 639512349 160427153 109112058 517886167 501023319 744265937 380596200 440744882 641745477 757982928 821956633 100146654 461995931 505849992 616945576 163675223 225026224 844344424 279182988 387590126 221397569 499658257 883048893 540221107 399573075 291371196 662362633 427503680 265139974 732441586 241532790 330737667 864591157 668228663 212213663 667420722 211196520 571793460 996782611 565662967 982971110 828786935 210483885 193734163 136721261 120268373 297112227 650587276 469490797 244524517 217460886 947126761 448745458 632749222 424536618 975488643 413420899 700549508 694965070 720306687 557362090 229568639 698795344 491472583 565141942 131748133 334864215 256288640 186785466 465873448 993790139 707538897 908876363 948017197 912828128 910867508 704807169 190065428 740623608 508275443 312560385 245892664 291014211 661669177 566023674 189780838 249284541 763375503 282142417 695720570 730390448 143804577 640271562 536487028 573942802 531104580 957175513 103960659 406871966 431563499 666281926 457282768 818841891 718004282 999427929 880678508 516504247 114254493 353872853 146803641 205623531 480558949 628855117 928617014 346403589 455880063 538061110 580194075 430248692 360527825 439529924 151904904 361753431 930468429 351095887 524024014 466671197 176199444 905405696 940328585 167392558 478614619 596822812 923187295 275751506 112002387 632946352 471217282 253960073 374719133 920822826 846311322 292446047 100756162 557955554 124270048 437576909 164372484 168288664 866666912 660541094 156221399 745838852 229951920 965709706 969315445 325118097 882962247 616316319 149030558 469402480 152115041 249860363 534616994 812353458 510269243 243111807 884384583 379574491 443047344 206977019 297147324 509987169 414687937 983102709 881685120 756526501 187483831 747765859 107725381 299523258 865568037 260740003 665486186 795740342 437673498 187941084 997464124 969737925 259266173 206905847 178171877 717046274 156441193 527204565 668132326 288825217 763111660 578209085 949267185 500102615 225392495 663551059 976952706 582742442 636447017 483676734 531329371 641254002 718201404 771245752 715193025 907538471 618747088 257780308 825459703 104815464 753766923 399799304 562848122 903428961 670255231 352726551 980626435 223008985 237387011 854240634 501204469 351352429 331778735 871266438 464415134 880147428 135336502 750211435 927125402 872996916 446641587 504144008 171554860 856516167 130954354 598002260 342606202 793307667 717949333 554756617 921462321 534507284 516112866 977555862 310389314 160821794 699119693 875458368 877801426 805093630 876643907 430639563 432333492 649191450 233949357 825674412 637648069 743249565 738414723 843956652 568070114 876462084 144619510 955777636 924682584 891707734 466322566 940059374 721070940 981634777 633689216 319053341 597345706 211565843 322014677 229575787 374880470 792602061 778519922 161025246 903625985 879699226 560735611 318882037 727172304 183100517 581902028 275802817 525611565 195943758 993434279 775856835 297671045 543252536 190355909 706531630 883358278 986517542 365593886 401397415 247705293 752179191 359346985 929262442 367196221 770852870 932420215 271737335 763705004 504619984 767349072 630970280 838378914 965963296 272512208 750343339 965938032 284902595 553888107 338237680 267724440 591632319 169251205 165498242 453965599 976397170 327547682 593615655 724289476 595548321 333753531 578768056 350261922 346949397 644348709 939729355 157082180 575136163 980647160 730545282 420249629 422110571 353637444 278349999 828773230 283866118 345289412 721437802 508119377 243742172 351761871 465548251 512491217 406677270 331476316 601700272 990314074 603581990 127241162 862156572 759087431 257916310 959609679 535819312 761187366 321109313 293317926 803033426 775293024 683506738 461157327 669326587 772121380 117634672 773954547 404606770 137707747 895603044 379156739 246300150 293767884 796439760 581692944 103382383 665344997 999590527 878656949 421904948 459307261 918300679 734887618 291768237 861999227 977794901 184442320 489538666 355457054 766018942 692598941 518609988 618408718 901020064 621183002 848327515 182593490 819867317 438821969 298479273 998854361 668010886 864094807 945142724 533019450 248366579 704009131 601594202 404545107 925109508 745184020 913096825 548877028 490656505 745469209 702639113 976935221 521079156 979965833 325188118 805706306 877417021 701720734 771154648 159391571 599064304 991386929 987340812 211166024 570532469 199410669 910104719 757070429 667820138 850540238 796111087 361265481 924263622 668165577 438765537 684451829 105830414 706174458 488437958 775066776 972557697 566002018 167730177 755615980 827050926 356136428 825664007 394874363 777735443 383373577 124988631 899398908 185858637 543362765 973474882 590624194 747186428 668647373 269087921 631948417 250447468 732967525 339664604 619335220 656542404 472303617 552738193 832396272 831911949 691169905 294799907 604146963 358120206 174361322 793349584 149152189 332861931 759594961 815148404 868159418 236986678 886763751 751948761 674426326 191619961 269895920 685420666 461986549 288054964 782529751 438023796 442681266 850564625 924760408 637643459 297875256 160541336 306705962 449211538 416277255 658697864 261854762 449863268 279610949 294245194 365161973 927044101 881869446 588652198 957513394 605944753 353073035 382258264 582595433 537819070 780432303 310766317 339808980 146165789 880656486 278662549 211893637 374380909 902257170 540345279 934760176 320388062 708569495 835170084 209148567 144717866 430262697 903666162 484766978 233725827 284901590 481732356 182217563 114113293 569953068 410050696 228627213 256778497 944767407 919425944 877824233 369510216 150511432 553334539 793670079 712758711 257228864 707314635 346236725 316597906 274898888 745923706 994088153 427953443 466125319 907243456 169950878 936061389 125533509 947182995 713223083 730308571 423111849 482404082 418677539 597813231 372065571 284331419 561453787 398398812 619056217 220516477 264634132 802709335 763718347 841063572 130037127 941465976 484498590 653306265 557813717 713769965 781050170 166106193 345513935 538577716 107963910 316578744 665617473 742467870 902542234 877922224 817389626 699559229 275504410 298885400 808775803 149881394 484729291 744569385 558843513 857753341 850692667 709366095 942125091 661125705 827301094 106861013 841499919 458885428 730595171 400940141 881153552 162144366 224269417 351699404 147392524 880525940 432768760 925826886 977085076 869264677 944888279 668006874 513880266 356841774 652119104 884006322 481847722 752089452 380500757 834010518 449018114 977731496 675237527 181180405 773830880 514932264 349093546 987854578 657109878 972093068 862161144 711811376 463635819 542594177 219800259 243150057 719218082 409306289 160886561 228455154 120232851 192292932 670865993 581198888 534985819 687025648 249089964 598549591 461865962 426041935 277840376 446101759 984739677 680874629 734501552 331209038 297761877 111033252 808857627 472431208 295897974 771155072 692918487 471776324 220570669 771386218 526148524 697545354 283167712 695929754 343405696 935692968 247129934 914554011 906121680 748489471 105566573 290126194 462122332 284598348 505533636 181401410 873428370 113997059 494583182 976022056 725970436 115016117 891710126 742642861 308643528 772808300 523200039 838448932 707950115 117117239 745862970 574884559 314363373 930559137 356573610 564967713 443513685 112055809 887337369 166168706 307660434 355709119 748337022 931448576 763115020 596119484 372726958 515042009 680635644 715385956 704614063 326605042 496296123 359302257 742581568 208169743 849514051 400789173 225131241 543487734 829742103 499363746 300796642 744248130 318542553 740320963 533379114 781232241 294799700 632022726 391041327 754788457 760940473 393128696 261484413 648867898 655523108 810716235 761933367 799186869 685101915 731354423 712546087 726647689 502788030 265191221 705465839 998271473 131128835 979770237 484316006 694880656 659940984 906774184 694851968 679865903 777671795 599339953 556829420 999478484 860480328 317184263 473863238 372166623 678267536 737310515 521675294 457983519 632428660 818325854 848120239 825928105 613851725 634535935 583429647 852482889 279363126 755904900 571067135 101235986 223086599 911256767 143471340 264150939 869356968 886894562 106687028 937092157 465927167 991992087 152080447 360047327 769991852 124219284 535178857 973286058 257528903 104916403 351958041 391596275 600782053 475611562 207658705 427561351 877675798 241038247 554454784 846817776 875905474 121514193 383309789 925337066 778028102 724476718 799787699 638522109 940923792 545630880 618413451 675409588 591121461 867285450 294682566 859048004 509714321 273180045 210239293 732054913 868997857 957067302 717835333 840540648 673698080 733065154 453537344 504006754 992153531 134549651 220125173 914640999 446347994 637520813 367987363 191772681 945994563 318459190 783161537 774205968 193827831 582151686 488152118 254142264 776159352 156144640 853981116 608699736 925338451 880835451 864905932 563173060 212865132 488829180 717575712 892713092 515554347 749442050 354427559 975717451 425139123 691999147 934406121 304633144 500475108 354597755 522826994 596179074 598044941 567833768 511517062 613134127 334953982 547249840 620740429 277689097 780369136 250586738 479075943 359564947 943234826 186201612 573383895 875073376 476573368 202927495 595385035 102620558 169965226 375847718 872274950 476597836 815406385 547198135 383078607 104248285 806653735 971804673 846964218 827558368 806488461 102138786 651186153 515289445 666392118 870934170 737533501 592860808 361176462 974464150 213128735 498398053 267061864 195529917 671770079 659591059 483862532 884861216 142986005 856398095 927388778 737598795 362336934 944518687 456189541 362144369 338968902 895135134 789002370 157727161 211602706 202251423 452954869 262396657 381469794 698322906 737609205 617659879 446008355 480610339 763238960 394837681 715000409 580094690 514959384 756684771 908721710 162003897 130770970 552656285 335198656 615744927 244515180 912927392 475096259 326678524 237888531 341539116 333199534 312640226 922811187 977195188 652259288 711958643 387393058 318405615 717887679 403634121 999874151 945319025 361094768 844407468 851126281 366730115 811165087 382524323 498780242 261115474 848228401 325335145 510620363 919536557 810662811 912035245 135180460 808606949 258676304 113035437 522270624 798232675 540964554 827118860 934366138 998050490 533664738 440237004 768992604 503981643 678641005 956845275 954599779 116279606 871648110 341926114 644098504 820438808 588631139 704353578 483692931 909648460 592362653 409240974 747361747 927376566 727898800 269297727 840907747 181295898 264584748 908817171 516197690 121998268 721059734 540668086 841735491 509378974 272554446 636133309 439177448 174960787 435780134 900232056 130553530 611807897 469567416 189719642 324448358 267230147 406566055 747420076 977927527 795154048 846822098 821870253 303461493 682307561 349161274 152206225 174902593 540704746 656364138 729969464 678401757 985688125 203182353 172744118 979031243 623594810 488673652 598860945 874593705 661118598 547541497 321798796 634200289 459408222 948842163 159607141 751699902 927263228 909375750 277325952 440427179 354343630 549538428 951195101 867127226 790825311 240314402 682125218 252305133 181731383 486242365 579451666 786977017 141548591 995641128 346004188 603446596 442721720 377967249 261570607 950342696 525696967 363018311 488812465 686202524 262692810 161735246 573255883 860059601 279475620 800722792 143041506 816337336 503939490 921847752 827892642 202833155 774062730 745346497 884274765 476026468 860186431 652630427 614112841 844254020 831583204 141733507 347863475 256370349 864029887 666616879 380234048 666225824 632072297 768071090 779255494 343046760 708241345 705862975 396666242 940140567 432622719 796939442 234744204 916739166 632384245 244771586 367467212 462606474 476455956 290928518 485546496 830569295 707075914 931029635 743396410 734575662 281589609 959553224 120266604 246363895 955556934 914875886 827130812 514284088 954058322 170216923 766135748 942129240 599300960 711023195 902180212 342172575 666523134 795564279 655051460 411876264 488338618 136176479 533581002 328765458 759814082 951212689 403232277 469066857 572506330 372616761 506309105 165226071 466577654 698018180 942577968 459876466 404761016 151801291 533235055 658124556 932858250 116621931 525255707 631070124 570433017 453717024 736600233 596884909 693060051 617963583 833743964 105129138 116205353 410754317 536738620 470150851 711957801 476828301 288483978 315966434 185333764 573933028 323628674 852124651 718280417 129005937 860035501 546222984 472807904 616595913 584734130 181853568 985843068 577466016 664512044 510520967 783606459 519639150 565023092 687694395 590115723 351878697 404480066 527344975 817462591 186651964 676284341 488416769 322237693 113937071 673954752 280057558 611064022 551408772 137266191 167312199 147655599 830823348 774051400 219336954 369113850 434427728 624427507 398074942 230176077 230607707 443309610 218910771 645122776 906133301 187329613 771615682 417528363 588188978 639677372 859282482 505215555 986538972 153081732 758338231 667664352 795622292 154964926 109860271 802916215 758724493 880703239 714606974 557778674 616119376 285414622 307070461 157960609 848532294 562140927 660391656 664426804 227849949 389041084 163187189 764579044 638562437 461161493 149493057 340988646 922848084 215959144 455411671 439917490 602772984 499444633 167068511 845033654 686556623 704846698 663637160 596575880 295461417 308261365 352653498 414769999 511425095 678356334 360357454 640825531 406446942 432310840 377262484 379851925 200561497 881998228 124142309 884136496 215026747 380006047 609796070 890259125 900957824 500987011 820992268 317670412 474783803 699227168 340174263 610892150 347226857 471657038 574120796 492657375 157036480 915140122 122906559 792508235 277279281 309495682 284661103 220734058 798348459 998262789 530262625 208958917 361243726 774982884 337929839 161544038 942515273 666326201 546900247 857081465 596195936 753786927 794409266 763683525 783331984 886732756 209609225 747034569 322793016 784282697 726590337 821986980 643702294 282987204 232346292 404398857 473872841 931440684 272022435 428027471 224259508 910898909 927475772 974869962 777331761 356884838 154095655 925396092 265323212 162088335 609887991 912685295 144098277 140675057 750240599 968246033 635303289 854361018 864463999 228010434 356160307 513375764 247282612 788906686 838400184 279778224 711730487 905825056 371835226 847231262 713479919 202468529 284714257 663752292 447367178 187180805 759564514 808347506 981040309 702247926 769006455 733060755 175562349 729755921 169158666 549479324 482695768 842578909 780376313 424075051 243000229 312888178 826062239 228710973 920250491 674163942 423547386 528649035 621195023 845320847 552004748 518115781 867971081 672190317 471648436 454052172 567738415 257099292 626922959 946318026 263454170 824300934 392597683 946997935 711143482 539478614 771891481 681127460 707580447 285452859 533423578 567768783 730318782 287670270 711285388 733755165 633888282 592210505 600676279 275201561 842532580 953825202 467367812 372528155 303046986 137326409 110594614 735400605 712731791 430633527 931431685 885194542 213408044 104190023 268516103 571703715 294954490 547271056 468850922 761867703 910057253 973165983 165666216 900865926 163967519 832198568 952812995 103996821 570248875 288610586 768539300 618352657 672072629 142352099 189747626 827482604 355986629 513658696 329063739 106002046 691823090 485079463 167987283 545698452 325394961 996826136 820887984 882308734 329893868 323953522 102102644 768982754 617140335 548947587 177374723 260047979 338166714 236580170 319951090 639368174 575629621 760908182 708622285 805557987 352495582 878524214 243027076 865829984 791233553 415521315 529008722 411317719 186738261 355973808 286816294 412092044 634962014 399895560 436101525 895765144 296318431 339333968 231194115 199994274 556724120 290526835 888297403 976650292 440438808 683262957 710832401 774279840 105321322 870783942 183352788 311332949 563335100 334542618 674274755 419192747 810312803 401349837 211391505 395486839 807545136 702659123 896369527 227953466 196145511 943144184 815284638 863375318 388777952 144039030 965888441 341393039 607569382 166585786 453000472 914954117 687232627 913439134 209302780 368403246 719008258 604081106 283684806 901077751 579579796 960643988 426924726 456489246 284453408 481399342 109488035 552029880 633826845 539820541 256275908 321574096 705976917 238100838 705423867 321210415 373903365 143809677 330593491 678553993 330037097 550448141 430716784 300915037 797406123 989339325 895463102 664000492 239412745 663180942 422246956 759199179 671891570 762961783 616863204 381617413 711800562 400523411 714281060 712876439 148265018 880165519 516014151 365678824 260961443 158498682 393306400 458955445 186430841 794152139 837052624 846613753 224615401 664089190 717784911 270171044 957221119 795138856 457189254 917040501 156657511 485142990 331703183 678548111 411227918 953299810 794439838 908405469 869442698 906733604 318556753 445986902 120075722 641999572 913625548 935020528 922770875 300413366 458671186 818798190 660401926 974982960 502232245 155134403 401435216 113956237 601574006 604558181 184586355 138410445 201876590 654079994 916380277 649627517 671097701 881130898 122662822 380873299 404630532 314857957 845011244 719983391 954740611 616040790 664958759 481014876 777155819 849001375 421917901 275127518 963943954 503809698 648394926 934880786 464827014 699445557 951140819 361344655 925873667 380091187 488670124 738210558 653588030 586003324 513204983 567942582 832701730 895203263 581046717 534787235 296720802 463849724 649172257 305832398 424999016 915430648 502544338 658707408 509095512 752950945 285842298 652546766 562021899 292757064 155479571 263076389 253923384 256214958 211750439 460496499 583600562 353080005 911158477 296363270 728366988 867181637 409501523 533605837 267763037 273227167 142695679 285116619 805425150 561301591 859669279 996136817 359654865 782687872 768293481 908291436 100165460 385561672 877187479 373890279 662746520 582510326 541349425 327846023 174859658 107233654 404225814 817808076 338373814 755782479 354945369 222300112 917866747 626688516 404796487 776888869 817789981 723221443 124850213 205488204 857815900 674496651 315164037 513112792 473278399 976492791 615512834 842275263 334713738 862445161 502382576 367942400 874015897 283550129 598091014 991140797 891507760 824095451 153212675 739545088 799368987 491483212 971510971 833813959 597137823 780163920 657287415 956466395 229033082 767429209 952811964 614188190 160301013 151097343 913159198 586895486 440855980 852636261 336971091 192763285 485473353 475387899 944160058 595142000 896973891 713527442 769792062 197379176 988826478 429965559 881522911 515110674 448751900 909566545 358966672 186205335 218771655 355171389 815270059 423299787 711310293 686488451 537877974 230493013 303175240 538287472 312801412 974974030 640783648 275636385 396705798 761294254 916304174 517748635 687613620 512304456 852750527 406666783 436069556 541157972 612127051 886260909 252585283 712055787 877750849 897464059 931580748 173762550 300207732 683380038 738203746 347487797 428804921 175344916 926378762 214951324 948423658 197859635 442043766 544494177 324002337 175120396 144705703 511471275 439343980 612430441 963507446 697683244 322596168 874851495 914678493 265007180 142069512 493477902 639359775 800434625 779587687 800395187 618649085 581416520 926640647 824297750 242133707 153533218 599224632 426581294 464892129 141638628 685048799 149040890 313268763 646326831 779499956 454786340 786324202 630068038 425438124 129490864 770503956 318446437 387863295 811545373 282170269 730931124 226517881 755840534 110558165 203623701 731293318 857783380 888277583 847062294 669448694 494306145 933199530 949848638 777288472 910767422 234111055 427548117 135802473 536284957 556063205 536906133 360430409 131309147 215889974 933554392 368700974 265643643 623855173 744847146 264659080 919927164 838617441 766212194 588110446 156138875 251509478 409857342 819589552 251336231 717159690 477159192 633292241 151235168 875843352 869127865 104562352 153554200 415958870 602190284 382344071 634868067 656802161 847237842 222828121 627378475 376880731 565257258 819454092 561940908 498587031 979716545 686843352 824222592 209998008 445466294 598754308 292459135 589539157 707599223 186273072 926390946 246932740 824976190 196951350 336594833 925215247 376096829 689115929 142013070 965163278 114852071 952190950 452430228 269391654 407868779 945591286 899813121 846686667 885685011 624727197 876241340 785977966 357563619 960884061 866018587 286554075 410457318 646108267 654601538 979156669 807869525 613763565 400359546 451200979 264306358 979451911 251608911 661255528 793136287 549222309 336232650 589091971 963109095 614783556 189204639 343584660 838851766 201293993 608538386 478931556 485889587 833655125 733466316 678906256 767832923 327898689 577611831 963957910 803305402 835618599 139476984 964664486 178513398 911198247 231469056 157865489 944450068 395275164 945943614 390454984 655804270 385505042 644259403 906506730 817560595 881255742 613192850 595013227 991714551 651033377 982307139 716154274 636703470 281793262 541882535 702438835 124534309 861525900 397350757 425063611 835525423 657728167 284885582 719979250 345948400 125592431 448817442 815321497 701536080 916177357 104632423 376905324 282927447 437557261 983295133 504989999 356477437 769477914 423148698 111472277 495610269 969121631 666343783 292594456 318025648 204678566 651045904 963877606 794560825 255956213 437502492 394691409 360017027 619382223 751164246 691459327 203443680 108906291 244420609 103897150 561176801 167486657 934050264 749020069 762391883 364574693 513550253 687255890 470855124 162739952 224856526 374426514 674948557 981648144 719464132 499201951 900632537 894226943 533680927 283697664 337094761 825328187 318622624 748821063 802873312 785347742 939140863 116070600 502075770 388494857 214536315 281193761 177330610 305469832 656248719 669366759 827469668 671706490 815365134 472768072 286995525 301160457 607733353 752152320 594720280 827702535 517151230 486449919 464572797 594441617 995154233 921255790 901657235 601851940 183165421 265546000 186146831 883630461 260513921 182388645 629914591 545065923 480704864 162879441 710896632 336038189 902617935 666623453 836374407 183000506 615652978 704892169 744018663 229101701 782325318 471643805 642450794 271947510 884729914 852551601 940267690 279520743 823855668 202175855 686918839 365850474 289143029 788146629 805401555 144516020 853428992 665065204 395568838 968381325 531898744 635455400 529041630 851880011 892397487 249180789 894707957 473513072 399147065 478126084 433543416 785852637 506133873 914032906 870869651 284770179 659732075 807491646 118841333 973249416 626383748 876254429 685667621 577532773 706259887 945399322 881948888 486681896 512624117 250529331 121367056 463509735 890131467 585896774 711336007 259652528 208862462 351792343 572999392 774828209 155423354 691372502 520215495 419294785 371511373 941228475 775934218 642134470 595224363 498949017 298181705 841002847 456171898 197174117 118007298 665248925 185234103 546846829 532612405 347176698 410011569 517995448 155619377 770096422 826241100 450850445 283583422 674851837 551845066 640690659 482277971 418058540 186218082 399130202 127131417 778109777 112836332 954805382 483313862 558814046 619096971 711906685 232052668 613821687 525411719 164862148 822445342 629345163 178269686 869358211 746024349 108342154 581008765 809732623 454485988 709703439 363105756 403259682 121579114 456792092 108161758 714117509 714497456 951708123 275335720 609057361 790016051 690620537 166590448 585890111 855506753 342501455 340467818 473617968 887046116 414164267 470110751 204100650 748003793 644691386 320821031 381492428 991925798 677016430 461043870 553160017 445813143 954303407 547612647 462403351 219863700 178661279 608341845 661319821 439719805 215695328 152573554 332337139 862527513 273998317 899390922 627683758 951536486 205330816 947331647 614533948 212174232 484565732 840682341 171207380 349236991 727029050 981158328 308724883 873025858 735417096 137760818 298542240 535062112 624395682 394207291 806886666 390476222 612478101 394399587 629707702 136169314 151527944 621743954 365317134 207565035 329027731 504122172 504391069 149239074 159451198 741680557 175171170 475718244 330489257 848075134 285350776 764724165 142809588 973054534 165975070 655258387 306448884 746437528 203101308 415642126 124926199 211496143 541664209 956045770 939481475 959463817 157484275 533913239 435516005 548659426 922498652 154901806 603570512 751651800 920420958 997549177 117757654 612715797 321672624 125104650 196657251 843848631 208864579 162486302 503460358 956226260 626663269 320367422 306864847 767934182 779979981 256986680 567464121 988058318 871872074 983468711 399032733 589183947 206400461 434401623 153368526 761613659 423558264 265427927 259412490 368311364 584370564 884907194 621939049 903743942 788353295 376081918 262607337 953105907 293311614 384352854 594250838 964845095 951031205 493885713 495197790 965575681 269910616 938946963 885541952 816293696 331069125 291749037 228851973 701010185 507482088 477454736 870636149 220338810 641462640 744492450 853956828 225218991 320619124 691994387 555275357 731930236 140556368 577656858 696138206 244154359 430328396 989100405 312273556 528558223 252821065 163217418 612478332 240083734 994108146 900709551 864242580 153098547 770616154 233347661 772456029 264266146 749216534 122021133 638230359 778602563 352681754 469814308 385737603 442547716 361491763 471308460 836936428 922997684 466799643 219445921 953172074 950547281 951568800 871206944 461660719 870354606 745071971 848255996 623931075 103689118 241763298 828271439 626446205 725484156 538693114 912437580 700743887 372379843 667471144 947667819 465243820 172847351 546521946 499719590 293588853 356716402 820969378 300724401 145670432 370515821 613713674 102846851 402107348 348531827 102810857 205515065 142341117 962088317 745957584 603919877 739589260 211756968 825690086 943314642 653078197 989251590 675814060 974040392 321435505 418764981 133330474 215933700 470589690 850284699 594743724 943314988 483130393 587428271 454179001 546769384 389665310 336097076 580942698 282892704 199620611 491057375 820638243 222648076 129332907 669263132 645439661 419486712 911045955 585369382 205496878 440282068 963597083 983557010 784227851 462992029 764979383 855855181 531369903 587366775 413182604 208409906 434528733 397441418 363543497 742091635 522240825 987915296 622826831 835849941 285076473 647909524 313916214 893010713 227880457 771426358 413828453 575910716 968565795 945566359 950067863 927126353 243960129 726404936 593603049 441814886 784651324 882057294 457138394 762876089 847043979 927445731 282359762 898936425 809381202 906710002 727936620 277099485 690917169 236865732 577132885 803722349 313940134 754436298 786533204 405934954 227670636 847409698 935191875 388664646 949433863 865893891 941270364 885093116 962769381 337068425 934992201 352875403 281363518 883846358 654542839 973480778 724479795 254162780 524509096 146453477 842855214 620658577 118039138 831243920 267918276 999426893 293183941 608599992 987771518 989029993 599786228 382685009 159449789 532106331 724421581 549294995 529369337 691728657 712682425 179115383 129922969 459216435 788750921 182065153 884912447 716109366 344019213 727598013 787614403 781651400 402567881 370213072 180182391 301836572 798331802 634667789 722131010 558012803 996748661 775010346 494483242 129174770 597485071 492857060 194127674 155164848 203950708 437579794 182464002 972805895 221257245 495411839 354631637 670678226 806312689 156702363 884520227 826096041 853705951 493308707 720397214 365391483 339650383 764704655 482578897 743426084 833183577 919870099 935197047 287599515 433243988 422630014 113332888 684507306 175260907 641323921 539311057 164605210 628355141 964811847 471490742 519653844 634328316 607030940 268102128 303906905 451592132 303061437 451385239 263587761 904710131 704699132 512364720 941153767 838212740 857596298 643637511 535064227 709030994 343001269 910326757 472081604 671722502 908044805 374522895 694578977 843548355 701517165 546907687 384803670 609766385 457365082 291671734 884321681 492611538 161509340 463762622 835006414 339309983 939298576 679366489 239513895 121873811 449611474 961351417 243140083 499342792 182898965 315831732 716142071 111864392 940611806 767691880 160936936 920801068 391698807 126685214 413097366 230255344 333136756 650452167 200996191 963262896 743167814 523085059 121433769 543989225 410191557 478495217 446544796 938868195 753404220 293291040 687519657 927216948 119563314 784938625 460304108 149235866 307885723 670722344 483889507 615380864 971904115 278752346 377895428 292735909 252113244 920541688 244847059 755013143 844526357 520858316 544427768 444249726 558952731 692662363 952616916 742566909 119572032 424697302 887210657 937434176 288440940 327621850 557461992 817054145 657164457 886733899 637115292 686402664 941933854 920356739 554738750 394425689 144836032 509797338 387220342 617350422 708743732 698098929 900461125 440808576 939099322 517640610 999741188 421767921 817702391 970409952 624522763 823167900 235494362 231557152 455582993 813270253 241452438 380508477 535890045 314727013 548298929 501147448 138742463 687188483 409941003 947728126 927940554 218626884 505667874 981785056 439606853 703455214 603525695 216166103 719346855 612195039 544341771 495442522 412535381 631798010 543817273 732132687 549948228 502668289 641788592 982596893 567475384 903778555 469558506 334717436 293420942 671305083 160202626 418584153 896385912 688282133 104604947 959097346 747653947 516989454 313913145 771244428 793895203 518273185 388153274 821654241 890430841 704646524 446970609 265772269 472416370 442405343 398720208 238655586 741043759 344076682 729852547 942576208 273454887 295175785 791241710 389551221 230034399 262985788 851497953 165521005 854707837 600399208 219129174 305589215 157600098 822305909 293480653 921367181 269581367 810454645 462985385 811525534 870778240 956910199 496046823 281776304 161643007 976775283 876067539 877214340 856669037 310197151 553835814 234570739 383923705 448652419 378070454 724041177 509251736 235887203 354462782 897878850 954294752 901582659 845999583 827727116 142294981 568324461 226276156 291657241 752229522 136420778 576668232 201103721 657113826 711120740 139236566 355406919 210160375 584216959 238244685 220097174 911163923 238500612 467270306 824236442 995977264 767538964 654084314 733173002 742965922 608929629 333912281 933427770 694213490 382706332 672881716 614635983 347200512 169737903 385491833 909733371 221922237 935706702 362763177 107662403 571867325 402775230 771290894 867808166 340891697 385330155 504965212 658347636 742660721 378963417 522445551 227533124 515731367 724290868 279729865 904975188 459746487 631448263 158576731 187421343 339709211 355901101 911244315 662571958 612923658 263642600 369497033 126038710 572668002 270501700 671943193 607467446 449066358 833306263 404809573 177521115 441771222 877412298 413028579 568094194 341160232 953014882 943093945 957758995 312721499 900113564 610158626 956395114 428828169 511964564 571251328 346089427 988591563 301959766 367819238 933676484 514395342 757330275 878188557 532315812 665288726 797860928 600833503 599683354 774638505 485768767 990004472 816974209 603248915 785483776 890547310 750111453 990577410 630911315 334180855 500700268 186421292 177444648 461786570 512288857 714420766 686690062 509021189 534469515 571998613 197790950 984116158 448255014 207512650 993331147 603066928 291878871 274269000 348781088 881945513 250174286 341282267 918170691 797152795 604518664 386870016 590203450 940388390 365127778 443314350 637601943 434486477 162491432 108198728 537693238 503443343 347532548 656681592 200248827 560968051 601068005 791689828 126971026 787302752 194683926 880661349 183310148 246602864 966629651 721338495 332986067 803277761 352279078 554266408 427308207 535534755 998279475 103113467 482724119 507466368 726091281 209124850 511452000 704685707 457108470 372010246 957274955 340030755 820268908 698960433 507132054 676051670 900063449 906061280 150635654 778189758 842268958 547478194 414197465 584018654 622515573 598260737 499773133 212145415 640066595 781295641 175468633 659148994 884606668 357462950 413941428 429888161 565674549 199141748 409005587 529530853 765120261 756837180 973531013 131213220 987652507 127961946 353146760 844777505 499274634 163608473 850982480 427056143 938709015 708887760 971193605 295474556 427452456 679458948 742826011 253010705 551388959 728463109 173570741 420951262 973712497 786359622 491611849 397804753 319578275 442659540 516413537 460565074 242515199 280511212 642779731 544431109 857325772 378204759 678072926 907903842 748745607 268361829 699784984 117066008 779140129 905531017 197402997 212303164 777362332 914259171 746689185 499651932 863645415 897803818 414102944 972711422 469571248 934716594 603612323 111168097 981692382 237718954 284741923 964846648 829375424 310998004 686831016 319334454 703513655 711719302 159128719 880748828 644899267 668781359 192278659 275771615 417217499 855364849 718418462 999594955 208844906 176646428 457078243 710747055 134703872 245870791 518208924 522006634 541119137 548434020 839495553 164472597 701295221 239550051 990723436 715711310 995234437 527533551 724349801 303320499 500746479 714719678 587638369 754487209 622806046 452285340 518329888 465027227 396929629 247976324 984478997 190089031 449176369 365295076 535141412 638458547 945698330 385102982 306232460 890990967 879334173 681383598 571110290 221234153 951034625 565136182 669688207 785687830 765127655 504466069 420823849 123377793 254980677 139694861 412147981 847621756 684282811 377161178 315726714 387677992 129554476 305821228 971792055 314331256 964281871 994035519 191715207 577404883 424851440 247362080 311852290 484180238 541747981 981311553 843511482 125474571 852843464 418787409 653429840 193069043 108764512 466910756 971080009 349164963 837393705 409867784 420852362 144886639 104910265 564339557 178577533 126697803 959599492 543658769 303035978 932286797 892111676 575960712 519454287 727502127 672419296 921776567 790610412 706987383 502913578 519331658 400946996 253315266 666777767 613005154 861350036 158772739 692945109 415302241 269831738 808946637 992996247 592308513 598705893 720002517 681060134 434786912 918289602 187932869 604151111 205729636 264129802 678668437 922334424 844914864 642634122 446066766 867137671 696246331 273205549 426895196 578337462 614188531 400653123 389958940 915030916 344454757 286695480 372317288 521131459 839585115 880577136 912061137 522852866 629081409 892373539 399815501 964453791 845847721 870864660 276846220 449836781 147699229 650348121 212302282 637500508 573725821 105089533 414110616 543871579 166470878 271266943 564827306 954467149 220286424 696578778 407649380 204520830 166359774 617172500 327725979 560251704 484055478 813180024 853965266 629170360 405353027 168167450 868024479 379818914 244461333 314062957 706758550 153015845 923059733 924555121 389750965 835751521 768152550 207574266 317913675 410476336 341121922 218304200 432359935 204459207 644165300 128366854 773298294 253182355 309464143 818905748 338726664 646145469 603060334 186532714 780964522 468425214 666167381 657970209 675440185 825222730 872581780 727026822 416680114 608823511 796095319 943538011 736057365 163819572 437445459 581803954 549821758 953365175 105128315 154524525 378425230 692931197 507393503 644613873 627171333 527303168 223781331 644232928 680514526 877516798 585505405 509645272 541377985 992998645 166800691 396214864 349194123 786275351 404470751 388040079 858595016 649460374 356901089 918995574 994684169 460316465 422796605 816547718 358043705 356747989 822470963 855339474 802938878 603795966 358737367 436042642 106438778 731384647 227851399 355198921 905677962 962744243 277980581 753171143 429311970 753051752 475541595 843399150 314166124 164802534 611406843 525665589 656003666 213585785 100698708 219811122 140896947 710443240 513643288 390960574 192770826 115509857 500293479 175571109 447317909 972931648 822305162 196368544 846370090 291597887 707097126 626667199 830152657 527452028 928295520 818951098 729689144 403757322 259624252 440441844 914259529 694152094 843169847 521509954 680792249 179110106 498664030 703571025 285583615 299694166 953232907 618527671 617613801 973854384 352538496 615089076 205353798 821398072 652832366 107423315 341391734 576666541 215785843 964431837 765071327 294270911 976407981 409538010 768534784 564912464 907889482 841159333 278396898 248938377 143525973 699344526 133807375 461681261 412444258 348307686 341342273 577528639 291358072 565647971 581711392 590510154 249686427 777388654 321894328 524161448 236054076 396468513 818840009 483224194 939707714 338974074 401892059 252802698 243325863 240756987 276656824 920760014 305073057 926665082 634384801 697479000 257324584 930247796 461260990 429624347 898412669 111559299 577076646 482358816 517085856 711879175 205931738 964930984 806829085 866249801 900962170 861163415 559914125 538795106 553898763 156724640 505547949 642633445 441593032 814943797 978221072 992723332 292636898 208694360 754017955 219239878 295112417 407709168 937397894 164266268 474086788 313696161 347698717 462462221 213177114 245555246 708738388 644084092 571703219 778541387 150884257 547768530 698300975 269368210 840926753 805043585 454520698 508619527 449324034 991266721 162325053 920904415 684938185 977313575 677286355 441591369 154269121 599862663 298782429 825230854 270308631 688361113 992263186 509581716 735432363 225363206 835405592 837391066 761616829 969380336 385084056 232903598 130701516 635426014 401952727 830640073 182188966 322572041 550475325 401491285 730441257 160085645 909824498 805423258 219507474 496593829 288719239 990655775 469652162 766272082 389251192 683434100 944091151 846424225 928115053 548113322 276276565 341282306 570671953 685696857 621304453 410112416 748117369 455662023 545971353 429234598 808081693 768780013 629965895 825952254 282100406 774117489 950152240 758151491 163585951 996376340 297625808 918876343 621999294 143428954 502938466 674081465 488456723 122256749 931736563 677021985 516264789 783494706 532207383 110045200 607154176 138903824 492362844 332248965 571847457 394618437 294084468 384506228 506656534 410238822 280173498 712955653 109131347 930433939 676780958 168142431 633410929 627910068 890268306 633595042 240819911 990942797 964626448 283250443 426359729 624671866 988027033 655919845 306650072 570032703 666843915 181592952 157254838 501797633 626368043 973305601 397176215 570495345 703347385 256058607 313082952 604039197 790772614 234108526 564573084 973838717 543702032 816918457 356979321 285546995 927661057 793236191 438107698 531748091 903038535 936052902 363770744 993983226 119025857 482673265 234808663 877525769 849775078 317042616 490164362 895385605 485939101 959950493 623426443 582279154 734475302 298803886 525169451 541024520 139404480 485907790 920091824 667161568 536581270 427731846 946043595 756548719 818154967 965182074 782351665 519632444 370347886 897690160 253313132 641088716 369295234 467720452 210966515 831564149 744638608 658763088 454483779 520990074 223534533 474609512 756739473 192934298 947556766 224675267 890437825 618349127 484631967 770207375 460089825 159180737 485873362 643120020 397197009 724245648 299493704 639892594 199961639 453653618 634123940 885411740 869937956 120266981 492489402 775957108 499284927 467278703 840889577 890986823 124306709 679405027 690049023 299061067 106441385 931238234 800792012 134237673 627034243 234289780 494858747 194368067 338134792 455483491 554511309 673186375 829482297 404028014 141386853 853655775 321624887 683218090 253773949 516538942 562270459 464534336 614511936 966910769 684816969 121969017 929535785 252525042 263029016 394655728 212407312 457457095 307074538 979074953 127173649 970582492 127094422 295375286 998402044 921681546 757269922 722851265 509824393 927455484 188170948 945462862 223520808 460337835 581664016 725655611 599875755 603459716 932725785 948972639 551503611 506916747 401601816 945836038 889539837 538090009 180222431 251806293 801434674 621834932 531064457 357346127 362318191 764035515 113332562 420537154 896487951 565384441 611694566 848852214 637216877 307345240 420454858 120612995 963367522 957265039 514792739 555373926 194564633 388832299 784548984 606260147 922124224 515527736 685348786 619424322 149980934 308355209 377968409 773424085 695701740 642417859 456494642 750494435 368342472 521729546 928411460 238900031 114427247 478994645 208161678 212199955 284167911 300792250 100082681 112158916 771686878 912782460 248916539 629220553 704876802 326684522 331023924 833060205 866366179 955181235 746377150 882906123 779588304 757052245 788426630 949600065 636067374 877941118 180122858 816852011 605985985 587859351 807455293 141227590 101890273 133647857 131718955 753137774 635128466 851838627 582094922 215712823 848138347 385900567 362353008 226413477 182786868 443507229 666573767 647016320 307060333 134592962 457224357 991606609 826771303 897070028 399589133 745811995 842851102 351465403 265052536 223578596 546044200 342493956 152671015 223833065 625170139 149521284 866657388 279852045 241248832 646394518 503499298 601951280 473636328 653127756 902145447 607552510 167414193 398496505 777072948 228818711 674448529 538336558 283422820 990931724 469240578 743475524 145176761 531841726 655496418 141643761 561059965 663622085 712397713 564586126 719057905 360981700 476320463 431284497 575870629 359436171 820788502 684103094 221705148 568530079 204437281 617602618 613841466 317796487 322405316 520209795 510221418 879548782 132111070 952368675 920986336 510675177 963754189 843704767 617573357 315151344 219459237 297348199 789118674 732542363 530675374 474975960 972728272 132500604 268173094 216245279 752825523 741680320 620242481 919911769 571761155 119315873 699696602 191358331 814440159 252908190 697806585 654741860 850977069 143019095 605369408 397815664 548564886 911329447 401120872 540901659 619416756 681068433 138214813 380188887 371819473 726067252 572485996 279995776 797950399 580634177 390771084 907422801 117122666 203216455 820232765 585637524 553260101 575967319 112900721 585526657 311279550 759954374 372828695 674562324 883721284 681292471 351404929 183663070 307947246 137205880 957148730 869184803 488122933 780042114 459043120 256632249 118244235 953347868 641211807 195069109 619037735 898594856 404008722 657748143 461883123 336329032 905497515 633340004 953450697 165652733 277538300 806874726 301771333 451122234 998414209 649100661 251113335 511393838 237262497 468460370 885685807 250402083 103457177 485587483 913727937 513948415 768051955 234284896 985031082 572121208 534092793 646529391 848479230 376527396 590234352 184209208 416735043 952488946 182427341 299625684 914038940 205566329 143898761 996856222 350402634 246681961 411662574 478021053 207293594 603714690 848374179 887398029 780402413 616495967 337469070 774286857 859581875 680706961 216196560 343596903 314329768 565533995 505234299 390535643 483216089 787305104 621699442 622104897 428151152 429278545 484355501 814895071 179436051 273170072 530617590 949104731 516011973 401146814 335004625 399414020 709688687 522555089 716540464 644280555 644079459 540791321 340517884 495121960 778611467 812914275 538839531 663254598 835200598 448212075 510116067 817169354 296586588 505052377 280165999 814053901 206134686 237132903 216535915 276886559 822849269 971305304 137414394 712807073 494288299 255951691 248365078 268437713 148952522 873752142 193951275 324608500 118820072 188137757 525692484 781310281 530183876 363547862 534375712 942217561 360859249 660936902 234950264 836077430 727291928 705590177 344558532 813472905 852228936 842549839 649089755 224345273 160503387 777954370 452546378 359043837 231051898 105946933 131353222 741825904 252039429 262697812 314916243 320125442 412963905 953679011 568403078 535637841 395920367 610096789 854421576 154958276 139299706 799223457 131573999 580541637 503815494 697024837 566380158 140257781 189203705 442895754 994557398 203954831 296659825 313253603 211190183 733763565 940792437 221431753 183895766 615441879 288084703 457891246 448130862 946206466 492857715 724935404 373253750 235863496 139997786 570112617 668068231 900990610 894730400 943575096 749362883 122591579 234214434 174073421 305413457 727654809 645572342 124293847 293057789 403672443 874269683 139232631 700617173 784587850 431916645 263872056 197897549 414268039 235423054 493048411 660407624 701983506 823015961 810289628 325465487 998434572 556361032 165427711 750069952 203547099 949103950 473789066 326031724 931330866 906478443 115280320 778393646 271706595 845043955 986391968 739441251 880502083 851813082 536964845 712340005 138222834 341587055 690081225 258846622 893483637 571644798 428376221 956499063 553707420 960169574 706451314 875224522 805923361 889865929 280345528 517278611 563741004 655865573 565462291 953673986 758580062 333753196 262578202 629588991 753785486 177045389 321107890 282443900 296584097 824859034 119027143 960484679 902826999 721811069 139321084 172906811 503263403 764952123 184879284 585468248 905664994 184464203 486331744 253526994 402141566 607175340 487453986 485810238 293746316 855509238 134942032 585386840 325120931 916016851 911094215 718632590 353186501 751670715 857600071 652189863 887302113 950953681 102820250 667309344 381100505 157979016 618078079 663140688 339456144 108029758 786229427 121599222 322699607 982340509 967611494 738575163 241708490 604283819 778695988 883795806 206260834 114009364 433077156 499032429 423815190 566176224 786432751 450015384 683179483 804329097 457690433 177575166 243016419 384798386 173050779 681127453 826111429 516270946 311125229 117459202 724307212 705571091 631432749 142472604 206986675 132365961 354495034 967791915 254520327 524332118 762942762 250810306 151893159 895475966 809573405 851158154 734465606 775296103 815077047 708213174 519525885 793333637 974353861 245967055 155515514 829027749 266973691 202913957 412544042 686155670 312141068 411632218 117601668 662405561 206852295 329657457 547996055 665229786 927234935 821692787 351127041 613180733 722954160 189782144 216412984 521443417 631181960 132970707 238202735 616663225 949344008 256911319 244318142 428986549 868097548 403112074 423433134 448907468 705198215 127912116 923547021 392119698 124634116 961921451 786872448 409707061 174798968 899491662 753623702 997246827 162553077 919976627 536048848 551219470 156389645 322230902 902329416 734662731 646404124 167272552 138204450 155107413 686632994 609432768 263605317 704817582 988335835 456649862 197874072 383576915 779585328 206742414 289784623 118413131 673955520 547642106 221298033 361023721 123160839 987096270 519082354 811309048 349907787 759654339 232934526 296121058 324282567 464237207 408288612 248674317 713019067 866813634 401524415 453820073 720746752 652400078 721762456 914325577 286638217 519037426 156809234 843648021 913523689 912522311 830164796 501750833 319868327 615746933 753484893 464475569 391501210 500418063 417322629 681050218 490581658 653402068 700156095 559595697 622596799 287816271 254843417 832933648 568547444 421888673 984118088 562341929 853352973 207201087 923422703 216719615 526022240 981969744 844942511 147683453 413772444 774910262 220360372 645167172 925920773 232481043 365156474 228837980 888213491 661604553 770301394 260759755 521359075 410329301 284683472 803270896 816428609 515915530 181703647 629810078 743883582 991262824 914556883 444338085 194152408 570749913 917578348 840840654 922119559 857824139 104668186 692631109 574928466 629372822 179280447 109990964 914278080 517435976 214417238 690587554 653849065 408341763 697140333 269213691 112788315 728965613 952051050 138708204 662716114 996231280 245964488 383526992 911250574 275397062 810468654 111705869 360373656 262957566 692770014 714847973 845479912 865249372 217462344 384920180 461914300 103933438 229804350 267306864 809483302 311028890 415452385 957738706 404538778 864322423 765989726 595036036 618848337 723018364 420029453 502326496 356784762 920167309 684854064 301728774 728100775 322122578 383208421 149595369 466050135 914788174 768974917 656622085 696064780 200080030 127529370 534102969 405859893 212254033 688007535 190279701 242136317 205901596 418496658 556731289 294217742 235102142 784826366 118235879 789582773 480610397 181980019 205817844 564019135 207919500 546535766 546814304 376485383 516965140 893080622 151719841 111798846 693697405 964079708 518898709 531540623 696587803 479640545 700628471 183558675 693465401 614556373 650184019 219020773 557039101 831796594 637961736 123920921 399147336 259175767 922879662 544350875 209442330 416565575 430852239 190845736 466593074 775741168 628149071 257730915 941047923 231501311 505463975 482261416 633851720 836167876 693666734 723543070 408711193 637819906 308135122 520660195 744030556 105136599 611482926 467116806 703829461 929497384 553216329 856335879 574598215 783636323 127867963 200762192 706445073 755673050 671706237 703961698 219101667 549954475 882884364 915607592 319252858 418859781 896925985 251429869 367425229 909282034 110006967 225882421 186155012 132799357 888846701 882771008 636618578 837541630 519693579 198246386 106171589 939102395 575197404 731333630 816175139 155410195 527248493 165403319 377429170 352560544 825760694 641651298 463010805 497619368 967066320 618939543 544374395 529320106 320463195 115666033 400562213 254869920 322943080 379278193 518013453 900109139 440433218 615500282 158203224 309019401 560788180 390315849 222343802 148534308 826109437 304482374 567569716 350003119 553467324 628269854 290436639 281278242 943440320 882992352 314185714 252176094 625563965 375434014 112084078 829393320 560471943 973891205 135711630 336574451 793150373 315996140 237486435 665937871 190057759 846352353 899466749 878355418 413857931 762852384 280789478 571185617 167715224 771540698 946284891 647475732 854911695 471246291 891837507 703612915 455142928 507643083 801312643 629180922 506063623 123253923 275729460 793399788 950534013 230758695 838726781 214465589 285423241 748658951 951983950 948370046 618663434 924422919 968838048 523699824 350748269 552764961 440886626 927367320 936157237 726375906 734907304 272088690 691735181 228511579 585393567 532830990 924731798 425889913 291317196 176036749 694494224 177797832 829724406 441315141 356022268 270985072 851106960 770525278 204192636 205151575 392033716 712224093 194751905 466106072 721055077 288580090 847635423 820149138 568286353 677960615 510680410 717931674 623208535 879494889 983132182 942314251 950156789 426612319 777567990 240013725 399011218 563484459 476693772 403491069 569829600 528620217 925836697 657517424 281911267 101988171 474240373 229076736 134773425 894350348 220802031 874210778 472028721 626109863 334738830 981785462 392129624 427198988 842971893 574119974 104100769 815312853 448152698 462437076 571162210 395782849 396642066 490960304 114789320 382628753 626162597 312095346 621809805 436474932 238955349 754334954 390907074 285985175 969183033 151413742 962574417 614654642 119376328 435618998 723098741 470237252 749683888 679714461 714134795 736915300 378311270 157586169 461104479 765089149 887479550 361361134 916615786 261149083 967705382 862722785 716276612 677516896 626571219 953150821 201364966 598798033 785263574 233479106 742877187 900425401 195639593 663909088 374467646 663035958 959336716 755150906 318913822 704767825 686488136 403566572 391803636 656865102 495701963 430688333 853789783 415626292 372292045 212773903 371663765 137039769 585018324 109706983 455691498 418104084 670781574 504875317 838957318 285407407 336542268 381232509 212900002 702912103 358246337 363570885 173106889 327464368 752088461 153949240 836807967 549683584 833376991 474961482 818415679 983541874 318130309 851972907 971217721 491748387 332600432 577640147 892373218 280452633 491897793 886626795 631957976 983231329 846923354 894076406 989665308 204762021 519886714 188848416 678640145 620702154 470889386 497764564 283981936 779339301 123916026 708826114 180735228 918199187 162103658 127575541 270179558 968790111 688474303 200443455 769233228 421935512 220596626 408699273 642156438 163283463 926000880 689066285 134253956 259580091 643551018 830865106 653005429 886276505 639093984 921123005 604672067 540413633 289522507 741281238 393435108 422147207 919914744 615346360 378810159 394118575 478961630 677268704 905631959 808467406 621127416 903058308 605354966 393219348 462135683 493520031 587260327 464533650 582281364 740358902 863347578 688972321 814863059 476240027 803365877 926877559 542322829 109879330 305300665 915461107 388996411 479793719 733471221 118284053 605043021 969436853 312067244 740465461 624142587 781195373 191832390 195248862 826377694 444250582 951630989 200616363 823539844 510150685 373103066 893692095 147104918 701504427 172113667 418101062 543219657 234161719 235341314 843050243 155026398 136435197 611885390 793369861 805116251 757078032 289128958 205139051 852606486 504103752 583384482 873763477 830912952 500520960 539816832 187507733 559753382 912830426 685337259 867520721 992173191 819774567 552337431 837199471 432489250 767010536 394934625 196606473 615530438 188491666 222084598 914739351 284088283 304606880 822840938 950652924 577345022 310797362 267366982 787414423 869648010 826052225 445417098 881152685 705567186 263839201 974230148 562147265 737439669 452969275 719685955 109786695 132830876 175863310 549919492 826021444 859066489 252301231 668435454 167517000 262986263 212542447 841336433 709477634 853886579 437072553 670135630 276033474 604856125 634472299 788234115 159067566 105634750 838131285 406750935 912145537 307184079 633818354 723790121 280349992 126334880 126172782 489840686 716685631 884138143 545925588 818713158 409654165 724826059 864322800 439229273 731576329 233140510 164929339 656186114 339384461 537871662 859267164 421719532 601015384 425291453 501996811 575366179 664985677 952235735 894504956 582721521 970507781 157050059 954972011 630078484 578016225 392041152 447992678 876313891 490927890 272300192 808970917 660744395 900812138 970224428 164237592 243188130 754783537 935876133 373508036 988773260 409077170 501663820 551554546 559191323 524193031 456818888 564111209 544124326 807004058 479926965 269217218 408878357 841315444 547786007 256082634 131392844 859054568 866035275 573261882 407183247 123761371 388196096 599013239 133581748 325750063 464403784 856958263 287199242 626861611 919693925 750630859 120076314 336892385 456341250 902477149 232554348 992220982 338906918 539967361 981200737 611816009 658348730 407533024 297285585 328579007 751290672 168502356 974669067 681890766 525058182 578073312 498588055 635819184 221985737 845174087 795274208 667847644 138481515 490273064 495063576 903300329 456084518 629035576 629488383 323753931 206542961 493125252 858463215 201992118 780240565 238038961 773844336 593598123 418423647 490196762 286417801 730349283 249200874 213406328 965207306 445070494 620302309 142736799 989142738 701442188 153023652 308152604 508730878 865603495 728375869 566511770 116039653 987885254 723980703 746456469 440349011 758569790 316576712 409676137 742782743 462302213 169227682 577156759 583707556 783515233 645649082 241757088 889673489 221708026 340009200 855394537 337130159 560948266 301369231 752785672 753645669 891804861 843378580 513816102 317303989 146880754 427500030 332708624 985114027 450303302 460380363 209431213 497126661 217645662 951111523 128965859 229610543 621917835 772314044 532554949 914754333 833056268 549526086 702989454 194494860 634080801 719923350 312253675 631403594 382754448 181134873 589244567 883235945 798888435 198654112 784188477 370125125 472644273 799319474 391542028 450850190 862928472 827744452 566643972 107020849 704584661 221980493 789464692 984677361 657230189 683648236 255005035 470107378 320653852 989425749 714783621 929909059 624332020 721382641 779842605 321726952 330235277 635269842 752898194 962670694 625525161 252268556 691997327 678283633 582474199 788581811 773268014 649654115 939760802 716149565 775109957 625730141 462143969 631528352 936614673 850228088 908908540 819090268 869190158 620682414 374801598 968078620 141342171 723008636 199821078 705983623 443755587 984766657 966320730 811672776 309614180 366782529 403889849 225449860 467225065 781250249 233619855 191611620 221801159 782847183 570080749 482069061 844802167 518835723 605899260 488392292 142652229 332252260 849351163 450805780 428516813 160932374 330696014 246549911 818390169 899820369 493256341 230815155 828744544 416008229 971611724 654051154 963835848 910215633 496435267 792487704 482678009 282098946 169398681 473398734 665168165 456805827 971760045 395415747 263748558 292836344 765948221 124959734 563114210 561600331 513480328 981116378 701046080 365415373 508364191 137379524 980303309 376610428 411434919 946865621 374604949 675175850 471823967 100463510 112069115 401243853 977952169 301292479 796215345 694625450 387343291 925073131 664358958 674029526 640839916 589214137 670200012 429466984 436121981 835935040 362142111 657153698 959680646 245273575 966944690 378287971 636354949 333075986 210972609 917038204 735287633 816510807 101145105 169510446 853739390 527479962 754680725 824080729 688411168 349815867 255623329 989737569 609878609 334074822 277921833 267798839 250485725 134938032 955218982 980679107 244305498 303207653 909698670 760574871 635473611 205888856 115307395 924129867 258959701 330278451 596921827 782750918 148837351 684379906 105028592 518970684 665907058 703357988 640899118 751987023 654979662 563970467 599856353 201486317 191627534 662208479 898094115 813823133 895183087 578986018 460459895 455664104 888507090 598364131 606800030 384029970 154280309 419652925 658607534 658655396 909504459 842803115 190615247 199400303 773369853 988707615 432431283 808112239 750895285 594596315 817842471 776875972 312289771 456297217 859981498 417747052 599804088 876277880 276615525 525740008 204862681 425806265 940424079 301461652 375403167 362189852 489389063 529015050 559616060 284847380 905935232 974954409 614439349 179585615 193743924 198374362 560714312 760018699 363163343 288895443 725412826 162925175 874317013 563508219 367848280 345249761 427845660 198494707 495152981 402456891 376306379 307473596 382062820 398333006 912568091 775710759 226139462 467268773 404720349 110018111 188234894 341813023 966556833 799847545 622915622 136870382 917456985 476578777 281294055 933305827 344167650 998815493 744758088 826493752 391424456 449627045 362261476 415862725 655917051 616185278 494866950 280984394 886466132 928154251 583480325 697150365 776542469 820224557 520734196 907201155 401238434 985788534 640182637 269685549 495235043 368406333 751863082 628857812 824183639 444403934 234084564 183943937 687914193 787393731 923650885 977440163 980125044 540863862 872628565 871610012 727055377 777583868 941182710 971311245 793102503 608602740 492810940 415185552 395698862 807375246 984097867 542104341 190690409 545015606 712471363 894174764 103575576 193942364 324152605 887204509 623542337 179647899 405992505 949484604 403243457 828449431 216506008 146909061 655905456 962403086 871563953 683006813 278413819 241914993 436757071 577325177 727181309 597075669 798470066 915424140 777170182 464921200 990479522 249093347 256932447 886023687 738487331 850650699 567740666 924674748 943143597 966157522 504025306 984445799 860058883 257505834 614717398 764443717 804615417 727681762 303883089 679123239 533345177 458118842 607263910 312144977 432568000 962213792 657364106 361508607 461749858 525499858 700672964 987789685 277826071 576322522 237446985 176084635 362376009 974070186 985915806 820331387 750151614 334267362 570416562 806618854 689079125 308624665 196117843 452877241 438438325 104314272 264642446 234818717 562290046 577169285 303760356 200050649 507204702 264350262 152253078 147408873 100675740 776251265 555948160 962554560 323512206 670957623 398023360 636594570 604439275 946139123 573203327 751078952 171554085 636882884 945684454 884160657 278992092 607001985 732059985 602846884 534023080 813374070 204821009 605291664 662473050 772387213 329324189 998850808 130708208 634288015 830866161 341858633 117552435 379634023 912650903 109864147 349836843 383239790 423237349 274046783 807979206 101162900 808297496 387642893 475055381 515782362 978453336 644554023 252362688 710127020 387168641 125749902 909538321 464615784 247136950 986044091 679299268 126559849 345477944 778920061 871303197 125410834 417094702 184910744 538252325 902157133 101982603 672864249 836506543 956052684 747317323 450459771 857023229 406159434 117863775 297160930 355951133 235613684 731000546 254639367 298919592 457698137 612259887 481080322 147568950 510180320 110329857 808139940 337821966 940437887 629458623 130950269 312042835 887911355 634369903 970722178 237383802 562199811 460591449 244078988 538951882 827883391 761623270 586908415 152637924 455064782 384853611 871708000 914726699 432618620 737880888 955609410 429829519 281871895 487528051 824478062 910690738 504929148 214751128 837165180 758704072 325528804 275511645 894615160 962922716 645545595 444672950 135742543 831836364 203420290 528128352 967828893 515182763 629700464 953300178 745120491 617834241 691862367 743353379 748110732 527020794 317012531 262524799 730730199 672557098 848210122 354339782 819776266 382909223 781779197 240157351 889439269 504322998 532343586 328356452 624240283 895378343 696922353 455168228 610246658 228457476 206821423 198458349 993101007 638246359 222794392 200413445 789543627 671603107 727297110 750090819 201647700 605676942 937632496 358617348 542614005 102730105 342622140 523120025 422351447 202987470 515966790 238711083 163549187 279983386 840435516 425191021 321297780 340027168 563541392 601781602 177053048 936625436 404870042 281638190 204960664 451798767 615481696 759349965 663936538 624481464 447632761 961808171 649186384 119653786 813310711 962651599 318792989 954446875 860782212 648583733 795377801 658212909 347677766 811325674 195719505 109491957 184368711 748085748 539234943 260324688 162887424 589959524 964143916 410067805 329517763 564367425 255012576 573977442 492359882 691352340 235206501 775473230 368972676 808347999 112238273 681966315 538332667 736002499 254489369 388196211 347776529 797288113 694379910 688354558 142758609 972572528 539018473 372424937 101494395 231584723 727236954 464678370 766084832 627094503 772738498 614067835 225316763 845599893 963719416 735219698 562033514 808555233 932770787 912997437 660012207 654900776 659254432 309683566 323050251 493158095 835418899 319017443 695307887 847301651 119164910 109177233 227036001 137163398 284602195 783533052 124968658 527021764 738885601 277349230 815559790 321021688 805590884 820785958 679865291 460241325 503190846 864282497 711604772 376359613 216831438 387471382 204424048 499904840 694669873 535553499 385344852 791742827 795571430 364638906 408407576 545663505 897549467 349770998 960224718 432152884 996352582 224250022 784233502 113297670 878299700 166866448 612209632 971733780 132293186 462570650 266393457 354995070 470408917 594240679 157431382 150983079 473168555 399017368 945365477 104720048 762040519 374136477 438635191 999630003 983452036 731375473 978679066 837899387 239669629 702431468 125956378 171731286 236427991 998037078 335264415 250305108 251809992 105284133 703550332 877288005 368726170 751617742 918122717 907852710 196006366 580703860 838398944 205140920 834119855 420068167 993983802 455473051 621819602 291267106 838672790 585691327 777599056 185152388 756768847 634820134 744116833 627792160 382524654 297766624 496348373 401050048 707548355 626514223 642716433 184629162 787984845 642520513 624886618 360445668 863341776 747332804 454721824 966727264 246198625 560114834 443903927 322232366 541726504 690452745 451041306 186810369 148342473 959368152 527212781 607555947 538430041 982271828 320150139 651246366 178104989 302646386 695802982 842981159 191315131 637256291 644034811 785774476 288578695 511696285 223496554 566368930 477357048 291698081 760183050 925465922 757658603 639352048 827648694 986833565 190978371 377403081 784665646 243920576 397976587 261071597 356128184 901360056 183911644 397388719 654296806 707991767 609985832 322147488 385118649 960742306 525225952 834964359 887510765 259630515 813137006 150956922 874995015 126913196 963688667 624479194 596318708 601025043 780568774 662173729 733928805 227568729 326661074 740569117 802819009 759569046 647500466 978868457 311885003 610899060 408605953 312730903 243733007 818495744 473914259 292403913 228143653 785050117 669986585 290457406 450377134 444166913 629182643 433198997 215551865 802256578 968037457 851445056 475710079 794928685 128651548 335734417 139372458 861511965 419329072 505415883 281855055 132108503 870008833 479591880 586799446 573337577 369963361 897788527 474950673 751015805 464791427 548535614 398480724 884377544 394555998 667141974 818493871 285039872 816246024 858128489 114910849 781698048 125355057 309875661 814395853 958122932 522020127 617331619 435766941 814297051 445993213 781106294 913415525 329784244 173899516 113461004 118985384 764655754 282100773 188048764 774990855 957529463 181073222 764239841 762398343 731466865 829556630 980816428 340777454 997980287 391619239 521691609 662873764 196482183 198248203 449969737 570442410 223187844 209067688 533906474 715360338 537618151 494042367 467990206 683309706 756266334 976035025 235575120 705217368 160158795 613607542 408401382 495869504 300953634 655312565 221326846 330118771 859347539 322084217 715713645 651630239 391798816 373913833 430270804 521811142 950574075 382961457 639811083 714541630 137051194 349449855 688921491 903610856 316036376 277760543 147869547 951516135 680700967 794882569 106603655 103952674 386697492 559514530 738260410 999559900 715135003 943811332 236491288 601499533 685209861 758572417 389687388 995523017 330325109 695618162 446853392 443692083 981433461 405895792 435984569 728247441 285790023 327111025 683762572 105806248 992545047 603466761 970153987 629859503 476177768 297586880 306969435 683872171 808413349 997214359 284193717 167609402 290982019 886632677 923913863 570026225 326089085 170655952 257534549 456036464 572888685 121288736 288604914 280332412 685828988 476132896 202814882 190021156 399902642 722375691 114578764 136681793 471169279 674863680 602967459 739880673 277699212 697039875 869636290 728005433 585094880 590250742 478793748 844280825 922460203 244925019 213868650 115412387 258416932 768549542 378836550 541285106 205236184 669446765 370283259 226413780 930213208 324969941 191944876 447578252 608103885 380783460 150291269 934842620 356049983 265488365 232500602 253006429 782564955 533456197 395118031 836528341 777327354 813216757 814902165 642239541 990069119 812885471 958340937 822341041 489137568 244256022 852303563 191248533 407553473 217949558 148730407 371617513 537755055 806115944 920863749 189938634 172067123 605760107 332465049 870349478 861032384 773661785 119122560 768899732 469282137 127628403 312184120 504621578 473450268 197385234 311529806 578383952 456438535 224815508 253564195 100506292 356346505 557550559 296059007 498074925 361322422 678215013 884892863 489763814 343704458 290658395 613326795 860860820 929051042 311905566 462657013 988933064 777089533 495765290 987870556 608334241 717354321 229174907 815277678 151534844 112559739 820727477 680278440 127204665 773389553 197729544 596314404 797219102 401509652 292369863 477677304 139401537 463086278 685145491 189837924 580431297 253708463 631958600 406976769 272777887 656012177 831660051 112425113 636257307 405871817 469922137 858949259 299331789 776868284 407778642 390817905 550773294 597470918 555921325 544342324 451931649 535367728 462471083 741049240 431820776 135698974 151282425 768479101 378876793 360399627 943711583 504626764 693774054 410066978 400575199 769703159 399651930 646357582 719744856 645456594 837811541 503923157 397322870 708750347 835157351 489108676 417358851 963480965 720102630 746436730 851784361 440607810 704013508 280645773 112080229 560032548 760517181 120674405 972342300 941471405 560698999 329915916 959686039 364183338 679174739 102753680 372421695 246422149 702177985 274883102 885341419 556670269 192151820 606137656 941338689 122860384 327084284 378653333 536057451 449245331 698931284 147197689 358019792 927386933 145401789 712182742 967412568 608161275 293792752 588201109 288357808 636434474 915996866 374178811 633899595 192238156 694891454 642605823 854727628 296015629 399305091 870219557 443926846 370006959 593432439 506407322 351224521 406681241 888001737 151479415 375078459 765241147 647654697 406322957 598163627 596233024 156516281 901581252 627884364 998736443 493441812 614995616 771563896 493162963 624794292 618737489 975022775 200076757 120656143 375099655 112224198 126044884 837631534 537508492 227321285 601492754 890144526 436510575 174329667 313623827 370431162 952932829 700821712 418473438 869605642 480474288 655171952 632002246 324780254 418432685 742473549 527480026 797293480 266004075 363043978 268082458 694849660 489910225 686610300 771866953 501070544 386114172 811711756 400219582 900532539 746772222 946315112 623280383 234013659 301016695 713549926 980165820 163330489 281758212 524694525 757135691 290617065 450084911 709488551 225395436 295324604 922684477 600377188 599458747 525959000 762414321 981447104 726403230 367435095 975845002 694532127 304395204 498116851 809848096 528840819 253806357 740325716 615677305 567865008 792686078 284481736 379059679 358566015 815263630 389023248 933696467 154338595 454272924 996896270 233247161 599396581 827260701 938090216 767619212 635761527 618320879 371125144 693535309 647305037 974283788 391170484 975289397 105722966 569984843 994641392 367157561 879482800 492512281 922699769 454843774 598578230 431301639 746336611 349526674 799481218 892393942 367428803 121373175 626081017 852538038 154123187 948123382 168048533 500293860 384636532 694500101 260681985 424765351 843388925 569262170 877000693 636989572 271517724 604671807 868187257 128691211 401498861 114183663 486653614 164877258 731715540 304111680 746837993 807112901 493598562 925782606 657234073 148304866 547494203 708933785 403456413 728073444 162700875 409734576 371489984 287613441 423161977 388731180 548078347 241210421 329905855 811098581 309839733 325559234 145063634 442287524 661147492 165230626 420325432 843083496 507201103 206900765 351841372 725145548 596194879 224502936 653270042 307646169 491100251 904051172 523375521 279227253 868947387 993004901 165685317 948279494 596596362 890073568 348831267 196534976 624782482 525809790 886039147 398763374 639625653 671947148 918976219 994669388 720546466 420580115 147651129 466712383 202935626 839248392 413287880 479165144 246912506 465283131 617954163 989703729 796531309 548297911 323607186 467714993 491861510 483383619 455188722 232988186 137697886 452314750 674719676 621823268 137137224 810464546 624029942 735223651 843632729 538705868 335472066 495407430 601654376 994403650 742256758 491813692 726329576 493649104 848807706 769949087 735578527 854635915 217260838 478405752 987420958 409131630 955201382 140446179 748788130 822521487 771346975 533080440 625784319 301295015 908506453 937492642 447035947 544845927 457351281 191023194 729306666 922729836 820711293 513405217 993779418 707673862 894783553 739378919 262931620 844604516 261161977 177374299 530430698 872675807 721462917 337610520 984327296 221063314 983101360 850475203 520945374 176736083 395625665 152887315 964419332 506351426 647118404 112840909 363038714 233958369 751394861 838670432 718292573 871173106 776706678 429190966 392114574 276381928 981571370 558924896 324377117 565256161 839209508 476735968 495159196 548409708 776847638 909188739 237350150 319724948 485171980 694880420 198713102 455538876 400840854 486574308 634507951 763097640 909231999 957436600 955062793 936419000 840660607 255502632 153977001 967717240 212742794 846305248 941541405 535798972 526104275 812799190 801316675 374165471 774597266 457637774 745173578 770372729 116783161 288359243 680703734 778227313 295975175 755734087 603417230 493746335 984100032 357192530 829484696 993397711 549321547 111028216 523859114 402469576 596919241 902642007 316914730 722122930 871510531 851311414 760804768 717317294 970324548 144714038 274279193 982695015 953412272 533972660 730710197 276004655 488107667 857113542 712954635 772009700 907880594 957470499 502277493 339225034 807106868 762816355 954222585 564564660 451002709 738090223 789713516 878391758 392145123 590630092 702900788 249940659 993000666 677511234 229332794 159891843 855760214 696625688 480496004 487531745 302342084 847642876 765181113 244909471 574638990 662682866 579036212 283476927 978409540 465593409 684547987 958686404 131757194 874507205 527647335 565273801 523228029 770437074 128595602 350377474 420935549 683619459 274075091 653521437 181348954 102938809 256778051 729520806 277085895 137732890 622862553 795182889 804387172 762339558 794385937 961344767 194470532 287716203 909498680 398946664 695667768 965000729 275639218 514917527 638034731 659665334 667750809 867400669 583215618 964262038 565920130 216370262 149071701 431259033 696283906 548224391 541188476 856338722 835711621 189976508 900856989 435989805 710019597 478821341 744195676 639721542 909313716 462635768 482393499 937709703 103249736 540450842 262105272 529221927 307400203 858680325 523552375 811292935 481385275 646125649 643305517 657023639 880121930 290777035 742173213 708563653 121206458 344253228 535631856 667487890 958836325 254483108 542654666 224711138 531942667 620634199 426153467 995588301 455688518 675675487 618214797 942960346 108268876 182841245 691669856 816595373 999766073 691193618 192731580 183789021 598500869 504165268 262866395 684949040 578564646 320123893 568139011 425290874 714000383 203409482 891601639 146009323 405806696 792502188 290880199 539205485 612089530 825651965 607275809 443861654 829295503 136999226 966916744 719629249 926479705 993700121 196321437 328237758 325181742 445141181 316808209 357513559 221229305 114008508 808087010 429128830 296908684 625751374 506397283 486767091 942040435 825235450 446921370 672404540 926316313 870519301 734299101 904713866 942279087 625315315 148248173 143519014 696794477 558001080 753893361 520542530 704879069 221828900 766086643 355374253 226304198 723946481 555209015 481094955 879077891 821945202 657663310 947669645 757920965 570623072 989881759 159073022 654515039 451062665 448335067 307512463 882349623 291403502 434682641 565632669 617363026 818845529 499820981 131683950 413177656 998888338 659743652 242751539 418754009 761496635 797458801 229997031 675742866 459518540 943852387 613208324 753575924 341078325 121978828 855538017 651438271 678381875 922068897 427115322 475371988 504788397 410941908 354448655 161116129 895658458 295816215 499064628 695717162 255477861 814691807 243018210 285123083 191635464 647835830 307050081 466264210 685918317 681239762 302364241 373281655 727089375 466923974 462128465 679211986 870899411 947589228 344369384 240571730 916836098 632472902 407583616 257402046 824088525 820145346 284364900 879318739 210497989 231457550 883200368 363759936 426984787 666850886 451774636 564491399 470124028 509876572 646506880 377648220 781711328 421977538 394789881 669941472 537839411 285788511 177108984 702583062 977480910 192965039 418021138 697756182 981337869 809606769 648010015 279014800 440253138 547650154 998361002 532142629 541758005 349093799 483328150 782870154 349183141 901069972 639238074 265559159 995097525 916360602 963474281 959406756 297821293 986272689 693137831 897299887 102582115 735302235 513547704 960823315 251411910 924911653 876426436 948184476 533324284 812662816 486644549 437480865 672269097 315051228 498189346 166501625 183436606 641206561 159750861 580648422 853631636 127433694 734575743 759618677 600125667 240806552 882165518 860492735 171814463 351685979 964457552 627707815 963548015 358483652 193720638 244682850 616706860 521376949 352627146 163693807 425160019 633566909 536067153 481762419 533820031 729612065 835446255 792420423 392606529 885606999 392577524 778430288 931531355 132046647 979623113 384523596 146406067 592730735 295149109 480816726 720744128 202339995 576495667 210920086 587162503 291934821 305696467 489300101 272440594 361690891 606765149 476630513 391006427 984221699 622483377 560012141 668356792 770262590 294243326 564445015 524468199 130565082 772164476 477963853 537489540 177423181 624367833 410195557 781969912 109785392 106586943 156841586 764311644 908471948 214129103 583536152 830233112 454491502 238458078 146996603 451634744 692564809 139054789 148223455 922440123 936429150 669685768 607835602 366988603 715313074 185343768 669762737 238284150 854434148 738278777 790402819 671780400 420505394 582396435 914043874 584417380 882945244 102412314 232104433 238141872 923515181 991466281 953302709 899876032 692211219 108735098 621863867 466822414 892341716 658161749 131672837 630228898 377834458 141104100 136877595 924133236 336992850 450965421 449148131 236361722 451506373 327900030 248219699 377873625 512703518 960127315 277117333 463139505 312967882 213726273 115646882 763163813 203985710 844319268 267467014 774336942 742685590 254661206 506880293 149529979 855225069 966733767 747457660 915743325 683147904 152859940 404056759 543341893 297289093 524791195 862574470 176123251 967299520 613558068 398897845 363476966 384586314 840175497 228878745 156731780 264673508 555576860 140193417 741033389 192291334 347687082 187839822 896567110 828875579 525376854 595612694 573333254 234195698 938642362 649555885 821841526 672466451 806477694 413770133 331731155 808835968 694132749 919121970 424635787 164209507 605490992 637424386 529463562 980801018 853224975 947663208 753445497 512137349 367470100 251127278 199830437 162884773 816015068 903617348 536231102 243105771 887129683 815503068 209263135 544645167 367283751 853079831 367050962 331342786 233337982 116974635 141485715 551709969 987858976 206911464 755134269 656769735 217047761 380577653 348275165 352074630 666775581 299217385 180015829 187964115 471930665 365494549 604651686 920619803 310163890 405717968 987489868 924698428 187264806 105821043 993429912 959620630 250230961 457856978 316656105 663625319 797541840 954002690 339054722 393132185 608712835 197400181 798896214 427003993 417999048 759086395 253314033 395615469 134983133 806512641 263245204 665710238 772373527 933438832 676143344 291095707 747806386 209741665 591473013 873437780 532407166 842409774 234380022 924249856 194895389 631874060 890092660 218937611 563249436 915759711 675747705 375269940 551086694 100927856 839010376 394089019 992628920 188885331 258810379 553726561 410990457 980973408 842093558 761009930 144238546 915057968 147214181 616635729 203363000 968567548 461979949 957749740 480369875 628835143 763244550 615407721 997320484 797628050 551062997 683125026 558385672 547757965 411985935 485715037 542202012 633029022 913781081 456494978 286810430 259721574 387996035 302578052 609964300 869404967 180414521 960593858 236692280 117401401 860234731 910676323 934322491 584144808 756799349 260740131 843949011 658738308 985664123 635184669 135876530 814467187 785460373 131247098 199339554 410488334 251045371 603022883 212312117 880071978 302055486 179500655 210288615 738230445 373567304 126859611 543558037 128238009 500701046 897425934 763036336 610485513 904822090 276154636 249778551 684035557 557667025 460932659 860323440 877514886 932386305 948044686 733753649 962564284 757358458 699095905 705445762 300929981 100914671 860955464 645121578 377537857 948238652 238437004 813226104 331306287 412224719 293005833 978265283 142538356 751931466 510267633 948529283 840230494 375880513 795952453 378214742 274670010 815972956 102644964 857619796 895443470 873960682 815004325 896471054 196164563 419509490 570314336 138055919 838534549 946819901 396774983 433993925 893135407 156583144 923301317 684179634 893107937 313983089 666111154 393521609 629344699 116572193 238318890 811455824 885186250 442308711 255590136 379855596 991523223 346714218 803890987 556132577 308654263 505362656 563364617 932861198 991226938 887186452 660634900 427363773 682806185 589398903 343028067 187902368 956232861 966980093 533153584 123990639 582194262 104383317 809144522 510211305 507831137 403138435 883060602 641593848 442027539 397352702 172352866 373740986 708178961 433114621 699215786 973249437 849864234 906531297 263529445 537568643 112145953 959096040 946883688 715782932 151482846 867248325 209865808 211975331 299508495 939909610 236162522 901499252 986759108 664463262 675427009 296064329 963486317 190903018 135369964 300688208 568185318 246340873 482406215 722536005 466026199 881795866 358865890 401785926 416756140 601003862 787846319 459706258 119480805 921865986 337700441 828963366 681132510 298229333 855970899 244469155 826742819 104790107 520187452 849843904 658881487 330314529 572545459 510463746 258986521 749145179 468484454 316742128 131386694 173238039 647413860 172048429 715797444 368107741 394017468 147107887 153636176 334206804 578185048 208239447 349120381 992291418 126503504 914485834 899214367 716287040 433647861 579199316 594802845 261129914 520250388 852919976 367301753 396200360 583169616 912120876 542189301 721771660 152297226 693453334 296477579 122621552 224177359 167060581 282566245 555621437 553061322 245001634 913562058 891479219 237252967 909374370 292847875 899313667 582789615 924523188 845139606 518237821 320214748 943977353 675199025 587341152 856397480 185771218 589032438 781161652 855331876 516325831 115120869 450495139 150528076 610740728 859415621 161552051 975560333 331457864 828618910 276760751 131137541 896418663 123001178 956582415 380349252 891362440 316664445 554982975 134568875 711518620 755529369 151364722 420830855 795500864 644610409 207864952 965754916 512316366 631489275 677501278 212730108 343710061 422565129 673350895 904473190 777895509 779459298 897604264 999040847 650034217 149473999 300344301 471004308 474177346 221450179 125793726 264286783 400900644 782064385 215857579 132123321 366655652 700723063 672925222 145631686 258254997 896463889 934459779 694270258 176139718 836545142 655750425 698510467 579775082 911811383 962623960 439038963 626796940 455800206 433426850 225192493 905981297 143688106 364544672 167988734 433647167 559742678 764137887 570068948 310345073 449986880 591573065 386250578 955071818 767381292 490550892 341649853 711714710 217464302 165523741 131146032 774157270 678600610 383682895 604974817 141130825 283636709 367180268 455830934 825904873 797358794 438930444 158679871 858764293 249962745 211856688 254931819 905455356 299434595 460191401 603992941 655444627 525353380 225269215 885902323 232995258 238010352 521727734 124583604 629551033 208512862 430514272 124918884 651713764 309348441 132107165 665035605 649396267 469806827 317443036 823263757 224251488 180388880 991575097 811242402 295606170 229393234 648045833 545122763 686489178 531691617 194657533 144648710 984440232 684326156 524568391 941111251 302739845 870433820 308960239 509138335 226544233 449969283 698133301 570697428 560324979 724822168 209328215 460966726 111333340 956616735 914597685 100295272 599936550 227235747 170690002 964721997 671756838 365345769 141061829 871123816 520913139 338968382 499477154 754813904 696901616 351320115 928106817 209492400 588377541 995169678 583558196 923795630 993583090 127630347 957976739 138208176 415168130 726461269 209955774 963153624 927250297 519375389 675525111 682722002 284337717 537951382 849191095 676981971 401512825 122820959 236172585 388169162 671389836 798448415 445808323 387841754 280482919 287955918 665606143 458197886 348471005 451087437 951330730 330263626 442954037 572801061 841539588 245038335 460234553 281924482 111858998 971794928 371584507 643945492 689809505 869552580 253621973 440336218 125230079 210431990 358951016 172768210 658430585 626186536 784272801 785985839 126721297 806866921 813704781 353771109 871600466 234986364 773079349 531255615 612181803 768891207 690258844 452972200 382908866 645622623 687415168 985428751 778755122 611084408 607441596 977152025 905759027 867839012 568502965 245238026 714638262 935569292 728237768 802225232 362586896 795474289 258826506 533802033 666511505 953586730 285234130 865703212 326579622 490642333 303047971 577888289 100060984 145921259 692392851 244465400 609123576 198627622 404729640 969715346 493218812 113551960 806336854 183623050 617681926 115235629 451757367 927615629 278269099 675427488 915253783 490960369 127869833 544204617 155856853 608438081 723974271 441954071 714142100 206472919 383536137 114367747 420080250 866176056 209969333 832784764 654975594 463444431 121447351 431878133 910144911 408175010 838413766 570054259 194931464 397301316 739840951 512371580 983790915 854673397 259109675 446347599 705214126 184382294 915309358 628422772 478575982 414571530 387722745 854023547 745123331 483717798 672577507 387223294 235382232 858145194 315778494 464245193 506383728 503636099 836504406 410190411 999240295 268377795 327172413 191984049 830959445 786072282 211205282 599666507 100734490 745591571 954890193 362093122 267359037 624062232 710088307 359035974 883134121 976898483 913588517 354977756 201327818 625178702 395375540 954749816 856848975 723718431 491001309 735314919 183149456 818915797 912120326 370030207 460780861 296345570 162394124 559780900 520493853 748642157 543415672 368746478 144643718 415584611 559501919 531604886 997448383 923398172 809511944 335857436 498643002 676424796 370338683 239372588 815258079 612221043 265833322 567589657 483567666 957344294 822403927 416875424 260500947 503667757 757436043 869116534 675896514 747573335 189010262 676178151 500108993 965170875 461214227 288106857 743742415 453484162 373590165 732470971 260812777 703896031 833261571 593392712 960593063 700250568 723950244 812037621 660644430 968087142 726566753 275818310 653976202 343249188 570311853 733189105 209143894 123419495 747480652 214145636 552714474 708908372 170306241 949216389 442878649 113554726 491873778 984359414 275065274 974660257 554458254 307955327 310410736 104959765 346942441 547604165 404887587 969697278 841486101 533972002 307779467 119657522 659025858 821516868 769459489 349558234 362817461 877170081 602118297 259147380 568264429 401432409 744189303 736981958 343339902 872654788 881625682 885556611 665715397 929812219 389269471 457516892 617797636 721063102 935361386 244233010 581299729 994501583 715254970 251310492 429626183 702042298 261152289 241988275 727418063 613699071 421928294 979274942 323512104 603343525 421602331 970108180 466553187 572973883 897484109 389328205 720454539 133322406 577313621 652312684 695023453 414853900 795309541 166244413 346881299 141054938 642148641 705257502 913503913 395688410 940068722 386189579 690073098 158823688 472243112 414590752 786174476 217430435 617864445 560095567 775032806 535428744 130091270 177303232 587550895 423718415 158980628 701974374 996648386 742405002 954739362 518069257 254082893 376244102 848118658 211276067 688435455 263109074 471755107 944733117 265787021 446207733 528591244 116061098 783318852 771571579 292981853 564389539 283162605 512077790 405073950 665120483 616018400 329030193 810152138 344439979 355795503 209580280 767851759 748100943 111552204 135009092 225558321 333361512 623214741 150469967 580578745 410445334 357249122 594009915 938603739 228225186 785624955 109412019 587329272 707226404 336755275 295144397 555968809 283319872 433403576 147056170 564535095 102740593 435071034 372985288 142636177 221583356 525185176 374113469 209120525 874544529 268443579 815721183 225878493 632449707 486943362 436162494 862009078 156431408 196744801 824514894 170200255 374654350 621488374 437137042 740238635 544061107 802582309 341259196 288874127 473940633 650624368 223762005 766344242 923730476 952510783 819957811 925754289 912122269 627300179 452596625 647189508 594960683 513223990 805943376 341663285 664350541 436667220 897852162 761257862 486402555 864183456 453824829 183681446 951293311 372756712 328532606 347195714 825421444 479913487 498775090 447263767 707365499 292258685 172276567 160261878 128610602 846303928 494719791 647630051 397393214 362139670 577472948 935085338 616987625 849226125 886698079 109849432 197699421 666825301 683395685 657141941 248735363 115295653 821617049 529287738 174065367 666294788 720067654 682709022 672515634 308738915 987501331 511245818 226613410 427053871 360740894 514658927 953407094 236456925 673968928 857603602 627707232 357711566 724974996 728960347 947852142 690578517 695187640 108493437 375842305 141513176 486267415 118116398 543564909 912371915 866264806 259600598 957973033 686962216 624579555 177697465 707457607 166418311 969141569 704301398 837113662 930470931 161267589 534227193 938609004 307114533 496189868 764773929 672962797 864599486 729903765 869895334 800953597 694488665 318375030 464124752 182916196 794579071 173877229 934469123 776684082 230926039 217711806 662500795 130593332 736714214 180568647 419158488 680542961 530245175 666976023 610887534 147663018 220094338 728670602 879897904 115000128 924603349 953061568 120193891 698924044 438061131 624942597 632427617 622049551 307197279 942248260 814727825 797361596 377588991 235866879 824356508 473405675 843824467 103740514 370739525 464653778 129155811 842400348 376399320 412747999 874765557 182664183 835601793 784514949 273163751 831874297 339256921 958998067 950667079 135750088 634340794 949609305 546967124 795670495 315316148 445063798 338147091 289215524 398865804 821249514 921939314 963203858 540008744 249084359 815506509 796349749 722437904 980636523 276461233 963348744 576267801 710939428 207931496 913549294 268734558 194031303 621650085 118747663 403447107 539327423 922903432 628693645 855104416 692170519 599614376 524559335 832708923 110861590 929199283 901872359 965159526 754274153 594609147 437565134 650880180 135798717 368637896 565695047 871761162 625197098 418054000 831918816 427105445 475970153 536267314 699729368 368041678 743574777 645349913 994709133 248851503 382496349 828840783 661277512 970087404 738063544 415911438 214965208 886257153 937052733 102813023 341238181 845210018 528938356 227698970 575551475 506516449 195512564 730758440 379171028 838626480 793073682 823073323 147102803 461404326 233336499 342110448 361143106 414580722 271832652 862754567 653911205 976389050 586097517 227462461 927985171 386217321 119703211 736891187 646016777 567972115 589471579 875076384 972424799 740945807 465518518 361739904 221202520 873108405 864133300 241546648 777860287 889907168 479516558 400026447 644287601 310536119 994355623 565455262 255432560 590930817 539310115 431832262 964779341 292372046 463328096 783747983 979231819 633526938 691852197 958912693 680682761 216792310 509340777 856590643 617982845 726162284 956097224 682265908 861117916 309179182 843816165 432418162 777893940 571664690 883269119 735309728 641041116 698184967 585719654 269549066 710445238 445614425 545326393 268061596 722153150 728496759 569908957 106121184 528695583 388580759 947434686 448234049 976468983 944325656 310740531 193042426 940438934 476607855 137380803 713100731 230491131 714581237 396246608 734239257 359343620 618270907 357794759 656740867 258713184 185983337 603262720 171959958 158413117 124398785 528485759 774683695 467704840 715290486 601686254 288679189 946905550 880632996 554979925 875940479 621403915 260017835 221667912 452092956 201401037 664489749 642158031 119979348 676378977 918903847 617468741 468093763 613702135 203291033 553793315 959636894 962839818 694486116 985706405 721440814 525438570 601766922 879089857 151396522 541676140 849774228 613763401 759154858 770851166 816533996 430244578 986020222 598238791 464697394 467610556 910868583 575593943 671882646 136062998 749578181 594281072 332470997 495113012 575128263 121884307 738091568 506105817 142904659 137072061 379828438 900623865 642892691 283526018 339760304 527165599 337426962 604876139 199554902 589108957 955648472 580193949 346975948 370901760 404779695 999853424 859919725 264933908 440948679 141685413 460098381 323290540 480808588 998819755 402551790 101077304 544925642 304085326 985116614 843656984 634293100 527410388 628333682 892572861 589891011 331105505 864018014 455603726 152422234 773319237 139466029 573512969 973764464 914564627 174399822 691033074 433634038 194658870 842238396 210213869 108199778 249026406 525257597 188042415 727792406 593270324 342226634 501082552 938316734 480305776 863906193 913966629 187325124 107270697 412591576 398529892 613986775 752097910 834586174 746023681 701815838 760049042 660343261 906211373 251928625 210239409 504869185 563128545 315129251 314085196 988488661 378307344 994993285 534843345 528600336 703319218 910936877 876994430 770019631 104714479 297623888 439237747 618629300 268654840 813960263 381008150 679132122 156487790 409921845 272378045 866624750 700775019 542255763 179508007 754412759 921569601 595218015 375274100 140053287 411491261 203700545 893923664 319136300 343505158 504722914 214661977 252783929 685940157 823101831 468151416 935211959 606001200 390329680 908406405 703522492 586052024 985733552 812928481 884345433 764704330 830673435 798260142 654997391 227960891 239675216 265300855 769909486 701362347 692498442 990026189 933407351 765882118 132797547 974257589 505970163 967088296 187475724 303329796 193034983 982449624 792465932 391727108 729556197 939213895 834069209 801822189 507406752 538851450 865691940 413336017 928652594 532140888 966318957 856759753 612454037 397942184 411735984 260291812 587503235 914440651 503024560 780010769 839893144 614635356 537593755 805126686 263369061 577770255 980981077 347280962 797999744 137755185 920498457 374327089 805278807 213685469 972495905 667613864 730263219 127134107 383543904 363338017 661403527 432650910 925807778 428597644 878773231 901994897 105026413 938198183 862473818 309722220 611184001 422281070 158962495 338100413 366303056 390649233 787814584 876352267 565374850 618915277 786032190 182890893 932759277 972494601 167766688 625419920 413792565 318581749 915437787 865902176 618371842 831914663 512392823 151588419 469329128 410970208 789490380 123563004 130471224 215020975 966733860 706634499 368529319 752310777 780824553 593156270 629255284 466768355 218889683 252597165 974678386 521222396 722475921 425410130 907531447 700499208 242416852 182571806 470160508 578350860 856485147 748649538 311765155 656432586 978106670 500837885 472608048 530771925 629231384 290680574 917644133 824518376 565030389 414094258 106636436 186298406 186789945 349452444 597392800 970188332 717950090 291785964 897682802 160505429 844914600 239903426 430550835 128009554 925060453 309744720 914882054 580103875 264252947 710457936 114101131 704005679 753588085 437881494 495704819 862376170 509780078 792967899 152932180 317193273 663202902 329813522 519470318 340492733 590854729 514112952 370373819 878137406 979522046 827646417 243307835 971208055 284268320 304035096 646900896 447794304 566288270 454442985 155935566 584816216 365561774 467983334 158519423 329123261 287761362 718435671 920567970 229689192 760641669 413950206 429541887 719942371 113478132 465514426 135532856 364288820 663306741 673835734 639391143 116462694 992874739 956696817 975988889 804462479 120168243 367028856 223851484 821865241 917568268 258419357 607429834 714114903 866459162 682901477 916918939 334561996 289684867 159332829 746576645 652547785 454682751 289463156 103139387 934217986 685137148 986568870 312671647 373925332 415747186 137870714 506051460 967195892 940697598 161704539 338396513 395932732 180065393 481021150 642665911 923565783 136527636 203662165 365497302 201464413 438456474 147637519 347943063 923255123 853607168 349272200 441711840 840664065 458083676 556649073 496113309 139868476 350505010 438693278 831461772 437908504 861128511 166877838 282800723 209222115 259847003 905073282 936047477 147850028 657752322 878885954 778915560 589572513 477261661 191153399 990996427 905244098 720941519 485243107 228162401 411155468 504799895 961723899 160507796 823345631 396689127 531390206 425673686 422393224 433109351 377971729 488534679 366518144 685956056 873265779 400912310 384381386 896209099 394940956 825521521 699511080 500028797 148227456 164816921 341027132 263041832 492614795 767175434 264617343 856262613 573907773 906672097 163934500 666454939 212176689 711523915 984527736 926440722 957654358 538759983 526007081 959920971 266528733 127943440 951488334 534386407 386902948 706705417 991219077 750797268 403004245 843640575 659291143 414054986 638198554 520322197 188242762 222367981 148670521 900604146 136569983 938261301 214262083 901771851 842042445 767910661 818714117 609045219 408417295 419509023 794644173 484708150 470004216 813442055 987382178 233665909 806289407 240095322 973685683 136959281 590245989 760504727 367846300 914713281 181422228 150087504 517669176 193324642 295650376 717861911 881057831 642783057 328993593 308197821 837965188 406339216 868052476 861571400 420901955 319974541 845447550 861890541 341705449 417584713 424331071 866094136 863799753 183101662 839934544 867359892 523658282 194551849 564738041 843852600 318520244 573855770 692901383 644510448 801449379 659826684 522936624 821101306 838461811 729856932 315969052 754059803 758008472 250760561 274375863 976455500 674867069 544626164 118486125 895348422 661531113 192537470 762004900 103589949 109829747 677181803 346862606 657298360 158035873 336317099 460499067 266993780 587216053 493640794 904394786 142106880 345587986 184625500 763624158 487256628 184665551 695638358 564237740 723963536 931183008 340124630 850125926 350285001 325266469 127940164 689515927 895981690 352364758 556063317 793599326 165179836 109323745 266701505 772580674 279743934 178919523 925798359 489299865 323963742 296789368 354336893 485993225 327445055 864732835 676114704 413750687 776421968 633593253 735004993 491223935 337806281 357130905 273339021 377565202 306994654 462382693 687194445 122405559 551843788 435149940 586550252 105290992 132520869 123828067 116555715 509405311 968692959 958843279 160641064 649236385 825192917 617996528 761972018 522684338 728975294 806472848 847418811 181356115 615055172 614575038 206508297 934422719 888700769 869207144 826443864 658012845 420220417 642940050 643000510 659350858 582222377 472230649 281890180 986411052 330764644 842136452 197192136 190399995 445085537 387457427 239717969 965398594 571522229 495805146 744185121 632370604 285617734 786174088 460680611 599729742 151811421 325143205 464649312 649756095 724780650 133503492 588827265 237876976 931618524 677046849 446189779 553753833 445104731 918069081 515845278 538021791 465475315 585903302 410441989 726902583 437881810 455593940 332308100 916840766 987283634 192634091 370667469 108898486 328450186 812097817 695606035 665613754 109743665 837483940 721499489 508502120 240120685 109442028 284046139 325222895 127773229 111028171 255727753 628811564 649845439 125602507 936551934 606227069 537335604 936687848 858563970 373469042 714629810 932594875 608468479 512451870 407135577 317418572 488450184 359104193 310066065 546126322 619264468 828013112 779643354 548102209 253740863 831705716 131029260 662794120 997178803 838313950 431827807 183722952 847048886 109292066 312303860 326331570 377143849 653241790 398369945 812474208 928511293 411144190 936290795 603082584 663644934 392036090 994017974 670374648 733105852 405132263 496677063 361931235 632601417 953141983 684683974 665245704 941401539 837883769 190421882 508421298 912744769 416321316 672704556 223688647 225549112 344822173 978779800 252224170 129818665 668570651 762443516 418776030 918812621 120093157 205560250 916746897 576485555 271914896 777517319 877501290 199713924 675738044 855308060 848660682 892566771 209725441 989685633 763253050 385410163 694812271 245462764 158173805 458258545 868690590 240581621 179132210 645811863 110264588 841615530 445273781 487483043 933465517 917294066 680965242 116805547 473763268 316311127 317427594 378119143 459526299 177680091 877230573 171438646 814464720 978374231 379200452 182588447 652175373 390096409 540130887 405997688 348303139 389644460 298932485 359625236 841660259 753834816 177884947 663882363 868541208 953792279 178200781 558906684 835612350 821412720 822917913 907288049 360362695 948456397 995556610 136656737 532077184 366962028 980442689 705243179 979808651 564740191 636369664 192537625 608269868 314744335 921502944 731158657 122838536 163767600 489731347 246710858 581900690 828886328 843437932 514607954 118682232 750767528 265213322 863870475 890572402 990984325 198517283 401004273 944825236 323904894 854847156 376447749 980136262 904134372 337012731 964020337 811133873 128750078 721416177 998065253 584361313 676413804 863930384 438867442 326287226 637998217 935869822 751754133 162044701 735878565 283910545 653021257 598983216 825912884 564856020 429669569 623518372 348198408 414490943 784283897 741064943 887151484 212031150 441347585 631652837 681207071 446224854 331677242 423078502 508827926 651595391 865004584 402656638 815308113 704604144 359534599 513309075 999881030 518232421 937445318 235364203 821227637 236802250 118583217 409441749 620952573 320240843 595600723 524003198 792365160 146089495 985932844 491039880 848412957 215876281 922836644 752112113 123486489 819012583 139883952 853616590 912185605 405895467 684516387 907251138 733325197 632091358 321254954 623820467 717369015 765122809 105752821 333759532 209417303 861092482 859467288 342455726 511117332 527769910 356383765 794745453 575390790 755617259 925348125 106738444 102201681 355087490 184883002 952352768 557455159 391127490 751382466 377869123 440799503 136888538 751125367 273867487 182088304 665497705 953089689 162699496 124558493 764107648 542302717 227917699 877503561 389303317 866157331 876166849 504822589 322732809 862719293 827354687 790646660 699148584 571244495 226734599 512724022 412525569 997543014 316163996 579906998 261319031 459947790 767334370 809053575 650581818 309510186 974802169 482949336 382574478 133767742 928535359 816816310 531096147 255473667 934918253 266624603 433594427 177978651 629219369 519205834 594149508 985666709 948362313 965920449 625753446 642474062 595027175 811497419 170830450 631977137 327507688 348236100 463415821 572970719 600667022 673546170 729159950 482939038 339817300 357559380 762826255 823262791 854551779 431132811 614873021 700573543 540884365 173504899 407180606 562339680 128114324 755744321 921520479 257912466 589564840 606542015 761705242 204359588 614141785 390536045 394181028 261055142 536897236 927063428 948696783 698222130 285301888 667832053 873229480 819233935 755212960 133599653 428437890 595293456 871482295 396304052 432052134 161196870 435653603 776337043 977721950 492646137 383301671 735458707 633484087 799366347 508065489 713946999 368995817 105191956 231281030 592180657 629611975 561405504 775001489 847979952 555694236 267899986 553062862 675999091 725287436 338234055 280150864 444706890 592764304 623057521 957456031 281841335 499150686 725729391 874964454 747242395 831380732 604657372 548370466 319520361 513544749 718517429 140316739 197780707 155155706 331852907 253442936 623240806 614762834 220954668 409407038 538320702 411493317 884306244 360552706 767006007 116649105 667345214 713906424 228417054 306317613 832688705 710489517 596623767 771373014 607864105 717504773 797458036 677364407 136793881 502376260 175853817 898265744 365948430 413675919 984324239 724735594 545109944 421604377 110698800 441588189 847588547 980631193 565360883 450759094 679571706 190520963 372565541 832802306 954777820 617674030 267277622 563415855 973166512 435225435 950250902 199122079 392460690 991305295 288317513 372070211 639198412 105101641 269098934 433773356 698461865 497693239 203883716 294231323 895004837 333527249 451529770 413330776 308888887 943813576 253921449 996178914 507829866 896445056 581525307 601422557 400135696 480616539 845604402 312869102 595285954 731725121 836525115 767609001 378946900 235094560 231071357 960059681 806732589 186040361 784197161 392977456 294610902 731214398 281740602 100127716 876628763 433112083 318006477 529188214 184886591 484570830 138252950 118477419 368133409 238400918 772805980 982065167 779675686 693200214 806517668 600306038 761102835 171316172 268061310 597456362 175271499 563489868 565670724 355563906 798452830 958149011 524140924 431249920 248295551 423269468 608441956 397522895 768019328 901007112 192770658 345116269 742023469 428867945 604078414 801034543 238092282 176491296 865590834 248044633 891967161 198594973 328480419 739701471 937275365 907893465 741217848 153762087 861364442 714587461 792408178 927272525 144994537 792082428 332357339 951317269 633140700 382453696 939336266 279063244 735159725 896666651 883477023 246151975 198625994 581004647 297461010 753780413 961112347 477246347 793351329 283913954 694042767 482210521 381930247 395238342 369629886 547531498 403180696 331954029 552167315 398852804 216952276 649947498 423956198 330771098 230369860 167901436 154206614 118642114 121049228 934785957 943886493 666059146 517530858 211800712 465916297 671470206 484699571 792085757 823471091 657029630 693572090 114539760 191626083 240195579 597708395 817955684 642753424 436201257 279387209 423039359 501427251 257978743 249414419 505557416 391244553 746557589 275483016 740415315 289104797 328179027 551860976 957857241 749441141 275140038 403273596 110114180 403071100 686765767 833655035 411597687 661337716 288887603 251929630 491789984 255500934 948017450 125969821 874107558 798750727 241726163 452577055 723896468 506092110 199780718 646728405 811207632 480896011 586042255 337225829 416270121 239359083 931647307 447340459 890896123 648988983 659445496 898309693 520814961 251997441 246729173 177476108 679850551 225405750 246305008 941241359 361592465 456684019 855704189 256563368 590396534 635995419 486865382 325095548 176158258 802416650 608629201 759389339 786525498 575203591 308568738 238691238 576390878 537395600 264816827 164667990 110756094 589821698 582002587 599031708 977423384 735407798 963827319 754139520 533233404 848377701 556551309 907108532 369174061 997964417 791348353 352805709 185364492 255428263 744466536 341759065 917591435 784352773 995470461 918301848 556875856 415706816 949720616 747772872 736261265 781603186 716862648 820974394 558548233 613766968 660414496 156619252 319098437 845475705 102628328 358530877 925961501 133658136 780113926 942166276 390540897 453283197 829184778 102407167 978571408 181717351 631013573 818032476 476788485 205791473 978788986 838225462 456701468 747428882 609784576 316126789 260040284 263104782 987564387 332035445 322521490 462259688 858896593 752945838 835042833 364042567 878252516 653268557 199879380 927521657 129541946 862387359 330307080 600475478 765553099 493885025 801129085 703420584 970757511 978818412 937366908 261346437 878442731 869321802 143629639 780642525 383919471 583605019 387973214 541151575 371267675 909277629 445200460 714516340 566514459 308136423 825683099 927966467 965068576 441741130 314504077 873203753 963628088 789496272 445387723 114906776 599418630 971042147 493988805 118960001 877198028 168782057 452764593 982460215 388040017 686604909 147555932 480750973 493258848 347485609 517557506 731112627 841624760 679444801 937287644 264366174 459373104 838200169 990090829 516001368 521133821 257597859 468679819 824255659 889951724 977672146 595631922 405668376 337804905 692658138 994414582 722051219 366160893 737637355 410089651 989471464 440956213 881822158 664171057 464656037 973194310 267632402 782106552 653502910 957964984 454539056 947194573 125474814 205221094 619571787 368933299 907211861 689103146 444398219 678392791 995880701 304804112 408306438 294957519 302279610 909964126 926126586 146713906 510547431 443038500 377259351 774385810 565212608 300086949 660691809 989772180 489436495 132817564 460162393 959456808 546787081 629178312 863454162 862500977 627103713 458213707 984350949 984599491 371682518 970270116 636561504 719659739 567398005 427130241 193121705 296109969 260238089 144192840 367233939 339486984 722644825 778637475 975150137 389235730 320695310 838236695 817308115 146887433 534721128 917968189 373512325 610996122 563702749 785959933 556419147 843907543 268657272 675483835 357302405 562118512 959577782 905793985 580480579 233130292 582902359 210535989 150699810 957344126 481094210 350603581 178364894 994225796 366206823 751851078 215119675 887376840 826822435 193746076 808870356 823770529 375542747 317970905 157768218 398058596 530982639 382300418 973861558 848350441 321578072 333238530 753849904 322689192 518594252 991728694 930220211 693341668 678065736 544656037 246032206 940280380 909792697 474256901 856330173 419662309 943002723 838326741 563325677 550217245 463772840 803208396 515815542 232599200 346858584 842678403 794889211 930391589 637469179 491691311 308588520 298210479 244735388 117440134 109289096 497664436 889577811 764933197 369778512 535730020 637780970 850161544 742610848 155352544 461403837 612058906 314009552 277859021 945081162 205466402 705385945 928068095 252363944 661403421 732371809 745838472 877999379 340377101 368862812 286281233 793908724 182725510 528906725 324630527 898009861 126983399 709355384 752725960 410080345 949920723 833599415 953149034 522613884 558417830 166038943 155357521 189748674 484544222 515605710 166098401 865013706 392131702 999090647 886562218 984031913 491521054 522484135 493974537 390562002 167142233 306819882 145571914 570666994 950182421 604371973 515768107 730894440 827246294 173693552 507627594 507599184 745495342 463713675 590584674 703938444 731583545 925853555 432055994 883485097 869351561 199751477 665874453 146624534 122672076 674661687 499722090 996008703 287341979 793268765 193015161 168913230 682235096 485145086 403656015 369866908 620420322 930488552 614746377 447231876 494354517 448818979 569709196 742292424 170076698 226743167 859149596 265574740 682701563 225677917 420613240 728220417 371526783 846960792 820198335 142429757 938957897 506492744 355291076 650903104 646231511 797857320 367736514 447944884 988364942 656319467 765235296 433733495 165462032 354808177 296999912 240357225 282251044 812543826 416033314 916142221 838243727 173796401 530071656 925782245 793043638 491656134 300029973 699044657 606599313 491844803 178283459 707006467 853944000 703692624 393921504 859549848 255511556 930184612 311380670 688305547 725983168 813943506 128141815 608146211 799424930 136132104 513592127 987682193 353065073 630883555 477675077 112538761 347146778 613281505 670720516 543903064 688763651 126697319 811955050 350184357 861546029 509590597 344134755 325438351 975915595 288437397 432358548 905957086 311082574 131662907 830235829 957122141 899926981 185830634 168935264 121136996 518219050 214424544 951462077 569913785 328634548 631837983 462946251 743803870 160838566 553702768 553344881 695059976 119881955 879343514 388657534 787754420 585278061 469264698 370180440 713618815 459773612 441945612 222354866 525964182 718167427 376730051 664175223 231149701 212495349 539740859 439166979 336027778 846753088 514206084 287633019 207901174 964689586 768156232 805630445 711354705 108653068 507118766 798509497 956319436 761375938 114215019 119035146 777264567 518959540 617914107 975116657 636559121 925045338 685485454 750647176 706953593 270397903 674418960 186669187 114345940 659070701 936938835 630774380 540720174 135993137 189231505 941671997 601258953 673281813 201909427 642087065 413691929 705967987 460655259 617481959 410006479 101880375 454889044 209636590 971004744 927204960 939351403 426370752 470807521 921918485 807044845 380018240 875094182 610224841 763666386 811329007 305719993 177495551 384424423 219263384 727997391 556665638 530987970 149302997 550842105 989656896 771185297 984300663 219283849 547999836 548143042 880483845 179468587 300110361 233487973 935921268 395393308 422539488 894064470 992448650 221931672 404683689 734551382 428316883 442725149 927032419 416362315 471438753 885508173 802606809 502108997 762053616 998010696 269573172 731125993 463713724 438456656 985344691 707611637 265962909 644008932 363040851 113466787 449461009 294883427 654256553 916082202 619482807 663291743 544367884 749285250 816435775 246227206 991910143 419104792 180903121 801358299 816345723 653615292 515231153 809388822 986519221 976149067 197092669 645515384 432494181 885750640 987283068 885012495 187359708 718498436 262440341 457789007 197391213 745449412 870672529 862672294 701047453 794917753 941801622 682209910 847280632 562713945 415262815 372129791 732577191 891995676 408350449 457095191 285732260 660868082 232714657 720270500 892318278 176898555 525277467 494554352 427859412 197387939 836456356 786042716 742444082 713700528 875216649 539423774 715891185 659752356 521832888 390974119 874630343 802927980 541948672 620123834 787433252 218446204 262545844 640053679 337156780 588549028 676235953 308503844 288397092 226948855 719129040 358331197 463190848 109587410 820713339 440704458 444837488 902860232 494429391 425665124 970393924 531951023 442144400 103104927 387956403 762853140 661684743 225032510 908011253 816475488 708305832 660277374 793852946 641619811 362616470 103744997 796072988 314482174 822132032 720396207 554696784 579766580 622352192 480216910 257582310 439961608 443026848 278072366 924065705 339674218 162028637 698106522 184110981 126636569 517680347 343534648 691662829 972305957 341840084 284636536 282219876 709399268 985132509 322332376 936865776 241752263 921717150 946436653 176281750 369022051 320406901 352103996 502849185 754832224 737000864 313272169 678791753 145787486 245624027 571709722 931194709 568414713 832903773 567506974 985191515 940179682 149388088 449996631 982683056 947391622 253697973 852212538 972694517 630144192 380209863 861361661 942142155 410011142 403103065 396474014 173057991 570453091 708861806 210299619 623528981 970112750 282383114 640989557 752391625 125015944 540331142 131105935 297789147 309285839 675053027 154841876 343267388 764999852 437216817 760436924 513119990 953569481 950700527 829669515 227163355 117447828 742314243 145284178 928102047 971691897 386171169 969181757 831810950 451415936 711268995 260649356 786370495 826649928 963326317 287508540 330587335 411232090 726609484 943167414 579325327 852538001 333457464 492344110 482632602 630715820 540272294 323583848 755121349 247760918 838266839 402053624 789520880 512349501 832806716 425840454 629200152 100686675 478545872 916515942 382395503 120510006 770621033 761651132 756660849 156349429 828348171 799135350 161572333 274508536 695354737 793282913 971277717 992254565 677956754 736415379 402394435 822844163 859357777 322006864 924297153 963380997 506940108 443617590 503698423 988248999 100828308 503684131 414402826 818459049 901197357 306537501 645380473 868760702 886739477 603307988 787947191 368342912 319593569 441284915 326738989 536029322 237155212 299128492 641980497 486002856 491134728 753769145 913776461 938602746 739438521 174570221 171613446 911446321 199436206 990814387 986764609 362888199 642446443 325346679 887587917 971981835 956335958 400605554 821891299 758009521 292163532 158541149 998019306 595574553 502011912 117607386 779111185 406549855 285249820 887541562 277330928 324675521 275484589 384419142 197499504 233527384 505685774 735808177 919951699 848230362 784501368 945612130 700221957 799693426 524697363 244022468 965311123 592100743 186918034 255259912 827320078 338649252 649147664 753207440 361866235 267529233 515949000 344421549 889418058 258004649 889660408 815882731 701684121 730923298 865731777 456439172 352352637 771416857 344285914 511198579 192057204 843420553 715375244 602744488 371954514 881074796 590852669 839041997 808227802 611007643 568600831 530535864 121080502 753838447 599461493 660905373 857490069 515731680 547034910 327201997 319406151 881748700 488067787 729604740 211288424 191389731 510009906 167979386 305278902 854748369 863997386 401527691 738612457 622538005 867693391 352299343 198923272 429871977 226724271 369246565 461252693 139155651 809582079 898780751 543493887 171231665 338978377 290845204 367725428 747300377 145825122 350936397 867985214 345793320 218349019 174651971 262606265 243454505 131030826 120255560 341716829 542802303 585922191 124299557 922693042 567668547 416501775 402662727 362878532 220260177 618635693 196391155 619107615 274246372 830865419 672650696 245095206 598461930 201978039 792316182 179556315 686401898 515917870 724038719 270806965 773627259 783971835 635624772 483717344 977720808 537107410 526253445 653669642 192492496 479450389 937997412 834322275 113008663 129169654 222266083 920711712 327113970 982497210 667989119 868759378 259915507 396745151 744671811 763054557 650072502 172488630 609283857 479755199 458319127 579338533 336509408 960405951 389386259 490969227 529250684 364917662 223556095 333722752 130199300 201068751 566874469 507840283 466569536 985818239 584333685 425826054 292000221 191074521 330678011 863286009 574741457 832935291 436184325 933476592 442301833 382303472 354136471 626803164 405714398 660757098 622042734 473143021 424428338 925067747 930423236 730432859 348307718 927483364 223239941 916700322 361630692 851678904 810855259 856475172 543472102 965030692 656560247 298539260 614011811 626878133 362100712 110995098 212524443 159856302 538479003 903153842 497338182 390201524 798608807 723865023 441926766 847320643 796879257 487737259 190131501 889926377 178582272 533240795 567538679 238330244 419505654 198898720 880756801 642112270 870493301 698125488 915198472 934994592 148646327 582644442 950122280 524797708 696836988 520824031 707244970 518980957 499234906 414592923 623111276 159417497 651564173 444653038 844861998 426839471 397420260 249862345 918610447 357603041 731958743 464994017 844935086 753541990 103698852 486704315 413600932 377023034 279222573 946441154 302797845 115085058 629202614 123218371 101630609 468678374 213001857 475800206 162833108 568706337 716270782 819718062 607853585 655677592 778832630 249294261 956517320 989522023 112478354 945788481 861257446 817975256 333518281 523006674 540371944 645095945 244783312 109480511 119869359 493951637 327928455 345651026 548043916 377916379 540485719 802215728 141873799 449177237 397493637 647012701 868721132 161074372 309448068 966707344 648177954 484591905 435144262 440033198 725171999 432014865 314443919 490404555 270915867 493820860 473502048 600597455 166215176 424986762 499516065 192130745 780322273 763345086 710838146 916644860 390401045 249147911 661370192 177402601 154942269 877277876 997834936 551780589 541600820 311750973 279007096 252564522 967959598 363347960 296935062 922651054 223176304 196379931 549112267 123624518 157662660 309599254 182744684 296899772 599721125 604902934 988748477 811712154 137200882 885975132 959165000 268804437 694641475 157841522 516969849 427345434 620568263 679118209 979448656 629449462 975541829 382600655 874570010 135177278 661153613 678805157 210053915 123691692 675030343 426045786 424083805 565903364 358782911 837023347 717226932 686535241 613064257 409459297 835896232 525807251 532751185 290957732 506403550 679036306 396412691 521518766 647845044 527574333 891201556 526980803 575498137 347608645 148071139 955595317 485674077 126976422 368037618 828166320 799683133 261120583 345281540 724189461 737749801 411190183 460426434 942507399 267317436 770134430 504764438 746387877 741661030 288803870 844967760 454926083 761509278 427563887 500761449 177213212 373880734 109844417 485483382 895715801 836098598 421702197 396280703 854547461 861550580 672491424 182351410 646050179 655652080 707016685 310041116 987179201 723501233 748318254 922215889 726980027 859801180 735524308 975457906 449240411 208604997 387300400 852483634 770956892 697777789 449518482 960651907 169559485 950296983 745332690 285802377 441824751 780435466 458475934 882994619 920122047 554739735 761414218 153152041 259534803 461762308 704251996 770870847 683536032 122905870 430695913 337685142 860888951 114317023 516735025 617438856 755266928 304981239 367177379 192445762 490628759 508648267 528092027 122784880 927212029 841243034 532194273 851549936 928063268 237489787 872035623 334471835 238603268 168033975 975509593 659756376 374519526 452806296 512183968 499135137 266796776 171004518 836056955 789909368 658139887 420250027 407892131 843933479 364840410 853630402 991888083 801344420 945653227 447735458 361952455 741416999 176923408 238578015 774075976 453905966 796765917 112052139 409540856 695781684 573468753 353524730 971832138 277541475 414467692 102383720 208209490 316937013 703699642 264804785 440081140 390986840 753363820 133502718 606775828 839482944 487515106 796636946 195142549 553860912 883321060 173741986 716233426 638829189 824170067 198656656 495213759 670066485 411448358 547579716 574574141 128494820 860828750 749408226 127735278 776947635 728101969 858586808 208221697 649257428 716140424 423064386 274942045 373723723 952172251 242496271 550745380 223720160 415823088 201225199 334891697 390599690 484303142 317654731 717014591 888600179 718106096 392885629 363514444 737057137 877804299 296893546 790441425 632786018 998737801 501163950 533327916 317196834 940590207 900894120 545754933 363803848 668270699 165953397 890861298 796613141 625900274 937777386 207593598 924261287 251174293 207792975 855350535 957240836 456211070 365263781 328300590 276424387 376280810 803421880 960708200 695184807 751658063 422542742 717782238 288939586 650797986 315836269 748549722 160743290 999923023 576958971 183102367 222700677 761158799 924859871 351985727 773126606 442080400 666850973 589815892 354378054 537696185 895895356 105304420 155578989 934343699 482096302 146151916 505893943 190303081 517543441 386779315 929408043 605228492 254404433 268923536 598380444 216864292 392452578 639819101 671298390 432782966 325000485 364471699 322786732 472592772 603500641 238552677 822813193 208786478 748355189 970600861 296780417 407161567 244998749 595448967 529971061 320569548 983492384 515521316 828671428 420013258 589598709 626288542 811685601 927393779 251266247 802327162 316316681 595139001 290676812 811872879 285641889 796780544 225340739 459676706 176775676 788971172 420201388 172614005 552918910 191211953 770609104 314023195 917343571 965156178 185017152 776462063 793139558 787626159 569676381 927516006 309561334 934725866 572607065 317924298 453515352 986402559 631261853 590025281 262125480 659910612 428276831 399469283 279449739 921574651 208047096 530112874 460864411 410980125 299275758 953573619 859885017 406313446 348526577 442187086 837999449 836732739 320634688 308687388 556811607 898974726 112510286 844021297 458683664 439975459 504645455 515343416 950660510 249166516 358689040 299624743 690777456 137543803 379247947 710495614 351548392 190855963 492125738 249563608 146669480 837812054 913332855 446681669 467529742 448728192 931403624 839053023 169114682 431721484 747715971 690605583 768036594 784006270 842793510 411585462 892992574 734683173 847759926 654067319 574847138 666103156 424046115 476912711 980714054 464114957 218952369 398643448 363376521 202594629 219053773 759284714 329907183 199208847 175005758 263140233 972361094 484691386 218744893 822641340 455594539 963596647 319092871 251403109 440551414 185060670 890618810 142605717 517297157 815394057 998412673 978573705 812631951 108181564 106412675 689456077 629709199 564855428 324144093 286734883 589867098 846340344 724546709 688461203 269640885 508281776 333138918 217198689 452288550 170543230 352603511 353487463 633321354 709726841 416406738 143765570 137218218 974097061 856326763 121525354 823009907 474154190 347350134 247974495 391225713 264208281 699229274 576256323 895074637 453251301 894524194 492578835 697690884 173086576 346200781 158138970 859600482 939674766 467648022 795844590 618547968 237307098 351958994 195255509 943859657 619826736 249644228 380261054 107248100 658248630 115605298 131762991 782364265 971726035 471022280 465385715 558448427 102310369 154126742 397207374 755395682 219072181 571693990 266192841 308204778 625374905 532767580 972588410 321309603 225023659 479472118 669679438 704631847 596476136 638384704 240569852 447456964 756802839 385541874 185422886 936064903 161192002 936564275 711034235 259129858 870345115 630609300 675119411 855847975 660986021 165142149 987334278 571693127 430125972 448366726 812904857 967486620 448945435 109157024 983700653 496738474 609786108 106390044 423550446 965509458 479224990 185595942 277110321 252919085 449773309 312619194 982908953 697976429 653937644 904616445 822571734 836955944 815520886 839003585 838971924 765704527 969877065 808717966 833038609 146404465 751686478 862883432 401958187 475955934 320562948 963302961 703684582 904999602 558416845 313698786 225540632 413054048 234409182 334226260 744465749 522025398 170591594 820359238 705321937 259219352 810963635 911257143 577872908 752971995 915989151 477312228 339551589 709340166 441645299 648874579 941085885 483819571 289757033 901014208 463247181 958059339 674039207 484001746 325271756 222934360 879798760 292653589 980807891 467590911 270531356 484768578 937736320 938185931 380630980 181717497 272128944 924395155 369722428 564950189 443875196 603245798 198824859 318024525 847327313 490991941 362099854 204274370 332227286 423449488 965508505 256447677 543594232 467453976 188801014 336133037 126626198 514366949 788980539 213916498 168477478 743723733 559122759 837210261 507125961 133365145 105406867 800105364 221513937 900356433 452648731 141225297 484831040 109334807 726624340 989186539 131267178 178368342 142914921 398061858 507532039 167511335 685707315 260034020 659670988 494299565 588470783 836858683 766036374 116073085 764428002 237586422 256699320 649931558 962813923 375011886 473511471 951257429 453443261 349259677 841378964 560118650 759993866 437278966 305061497 564077967 178131039 877410326 410439486 336384882 257123550 263986889 817948671 317051619 534529757 142652099 222876541 752966023 343429645 926259695 278660921 246454234 499247432 150025016 641441852 914728865 506519041 529179632 377635764 579692470 837015149 882242703 981891481 707849508 949615755 406247526 758634125 610867510 569724229 913758734 866929560 399556504 353053611 441611222 354697861 498982243 631646417 122189973 300045866 718418702 711937897 370976881 552946534 462512609 151126017 451378227 480953921 249032719 919025385 478167897 516256724 679684862 461544972 796125831 577146397 846710341 294889093 496261018 653057477 761999047 675203351 897711190 652872640 645368099 112330111 770464940 688188555 505756627 470156587 547007425 935950328 729849868 535387200 944187000 521237908 547568837 686943075 817637779 550482490 533541085 363943445 940945381 579274179 415461794 380847736 385180861 643718340 911271544 900173191 536667339 487575849 267052221 513527658 119801976 653447865 812310690 714587136 374361887 747519674 333197371 688191419 988774909 624520421 742511456 543366338 661817321 999764107 267034405 867966888 796227288 874356851 497822113 175061077 885483220 799496988 644453537 602074496 884230310 783018593 958239332 194399996 586802138 374716420 257230064 525584384 158521123 800745747 807377841 288059768 426086072 635058408 923303728 469718027 973492976 972433681 934854738 206650905 366351941 782657203 537577885 831318911 459999180 337690133 988664687 548135044 443531296 955644114 667801379 450197155 342795252 454234914 595739810 820929504 124867995 524704102 697438968 677852221 585476874 594222286 123375610 684810344 246078992 363679406 825762900 832343829 782118445 389642531 136724057 964400740 739085354 535541196 956908103 967383381 850869699 936316177 382495316 490993884 106663275 976745276 547889330 393908520 652898618 775485927 310477252 993531131 216907200 247604078 667059560 941824522 584805092 312665087 563795281 605707938 111317341 493752096 365095341 981246876 991998653 153034251 764414558 378252685 323364708 505375012 558191641 202850908 146159432 204414880 205302953 898651940 392627183 587404545 768568080 477533156 758890879 589450032 149346110 266934013 343287581 256387587 534158362 629869883 737375172 216318509 774495202 474928377 653174624 262692143 226226529 903969132 263225214 417117095 394986021 630524329 823746109 767123029 234830737 253690786 401125259 913573604 312858780 642947658 174341210 671113600 201434398 647753167 796144492 909087947 848966978 633796295 773811061 115571399 252083022 981267441 907625506 630232921 795737911 985790805 273709245 368068868 530971445 881330617 466450052 383062361 179987201 901890910 662187639 361937594 673547388 246976348 264901726 887692081 114947503 688745015 192741229 160083464 923138398 479660625 998125070 158457472 496342037 377879097 976823162 508605750 504680280 201143943 420458494 877411826 693423089 793908624 300886772 181232861 504201747 546167995 141321097 138106869 756201188 511053293 414712817 305047775 440002644 918425415 271880179 712934955 762898044 540932466 552449000 829202910 771525453 974390155 202888717 214506389 461422880 948130456 249753423 861322834 693552017 764738522 842217584 659029767 441769827 877774783 959501593 626216414 117756318 167084327 395304622 569916845 512872796 407961893 741337003 743346489 529733358 439984607 941726294 292072643 704836800 499406138 180362948 874602220 497069364 977483634 130782679 707276156 649701395 784694900 677349431 622898344 956108826 840415909 890156207 732147600 566992680 657802507 478350272 309185486 669805207 614598055 584529967 265701285 241989371 459227915 459162382 865557436 327405378 396512718 208742682 369980890 190317326 582385133 662790609 842867984 179478840 945877631 115280492 733776744 870832264 372140321 991786748 524977818 641657575 604445519 168846676 813990876 367491084 931819092 817338740 124881377 320596105 707286099 451770477 879280618 529945486 933936892 109434688 245549828 897662568 267621753 138985403 493840063 122020782 401974452 171465463 437946379 553141385 953825010 319841238 279424239 788846171 811111332 181678920 972676160 831733173 230265611 440867360 625539213 316914343 792859449 803748832 410133164 275747946 252320416 243342919 756566175 131407897 243316647 411333077 191564444 806019683 503157749 538670005 451355147 464315249 859939072 215849566 102685907 103626388 252194629 156024251 512610565 828002114 437529725 822617898 295217958 772748487 778825056 174102712 950061418 866498406 788343549 826771539 408036847 203723274 420704284 897487561 483224239 781936809 290595647 382108451 360911484 459312248 111277075 919336930 849982812 685240168 171315754 342362825 623739825 221745869 666982555 834751611 946851645 640853252 871739320 828922890 907843830 788261539 777055842 287993140 907349996 839168497 804542363 321445609 395478528 661007525 523486700 594218356 929183294 638201249 258243530 277676571 253011110 642513289 626516865 256656708 874179175 504977920 961811155 370761776 522448055 310948707 196218403 505002570 334531402 909415908 226815279 846950968 454663507 797630364 524039208 405042018 893228504 406362950 564492446 200420614 194608782 550291964 347840075 524298423 466828049 569167457 467168634 118991646 453084998 463390186 116522251 478103881 693997394 783581544 234330318 181823545 491559901 989053453 240673660 811311319 856967986 427984142 740332636 618812700 533055026 974023477 288882754 546389066 985983167 308823912 677959155 418867781 806601100 427002030 329344987 896450880 900336504 978937941 710876937 825229050 629503343 496354970 373002148 931001882 326265075 217916660 757511927 818800436 297284436 766172534 680188297 734739607 475141577 463211364 773336424 747065895 734140135 255664341 839018254 272426225 905651660 201700397 164586834 710549525 431989119 446311787 375347427 704432957 829716739 930890627 584401264 449121261 480230939 298404820 939313558 672951476 159482545 662716796 942771113 357251248 600565688 561193796 928439560 505806358 265503888 217520302 224634395 247163258 356292338 671367391 357383873 772512598 654104305 197371179 265080263 141839152 833895092 187425419 286467580 744284825 136651460 972419283 525870620 195768693 764200584 608781049 900314279 773624711 425415081 906568755 471893808 442173719 942455513 161475234 490240827 135422308 873837324 695419879 705806172 361370156 347989990 640891352 181613130 902935299 718623644 946602541 547255863 799741493 862296750 914209914 292677508 196152429 960556445 483509975 554302262 887445652 264858130 365358495 251034615 101263708 751532407 934853616 961735956 498923244 715366469 482342717 345403578 856436483 883162085 934341248 629506687 372430503 642657728 711266918 808873506 844427295 932842710 492262302 995989243 637803404 941216763 550629364 653576035 890383503 904627969 537159347 122438998 935115928 249453959 927467197 710491068 778731343 166726821 452229050 579374756 990925030 108909254 580664613 440162146 532161808 306753934 519425024 358486068 339616213 618519052 379758085 503933929 582390776 342717957 626040261 128129270 690822481 225940373 101043923 102154159 948639845 706042817 702584636 598355749 557118658 585292796 607451971 661364349 272010885 520003633 990936758 435901063 644865226 100173344 456988870 929948294 373861107 618544150 879809969 955111313 468201771 764082907 866145020 596315656 222152470 535369917 311517078 832046467 226615989 570899737 384179883 254409124 930965559 986573870 892822019 297717114 686361774 184276458 737685402 106452426 809403706 643183096 689470298 929111858 436321141 760782665 215237749 267263156 763168288 577059776 525175065 232387019 129966667 451193026 905838538 618206608 244749711 948771120 863393237 486853556 108778471 127502639 770904436 801957019 665730852 237960285 886587563 190996364 471532047 870306490 830422311 425348023 465722441 107197496 543521884 548094294 209991716 724290872 203249836 444900708 689455258 310080304 515662109 661591377 333118864 299311953 709021077 378726900 117978766 681658469 109716529 582549257 937182707 614771346 880965937 840951955 752885794 747664320 896033840 719809170 423823973 699865917 356402688 677011769 273424126 421224603 846289906 804749693 903211734 595991546 455752634 619497559 727208640 540955608 745291550 927127045 827250209 964117407 440564404 235592236 421912587 391953190 568356500 209768809 813114998 961362630 703292865 500852851 334515185 840848495 702129615 513848599 913942841 268104164 815974139 630936748 785048514 257209111 297916865 910038066 262352137 721039707 480271009 555859489 814484093 465475399 557251518 919507907 504281878 348283238 185029022 556138050 956817800 841552766 415467199 686163042 242546318 980036777 998592515 203511426 232317700 858837180 149957681 864202662 850931219 143790702 458782208 283240394 328165684 426864410 162895875 490753379 424870012 600120438 114471679 771467805 213283533 876285805 844789484 870383896 966988272 681911740 959433159 689054955 851296129 242046113 834420400 340290459 774103211 574099250 108381978 151605256 328952409 600744368 900395241 796098001 293543922 401389231 619636438 924260556 338344346 295779206 626803830 368145769 185309760 720340589 107765184 342822393 506560901 331971597 267227506 200582766 457860517 357751909 667083684 394767740 644588952 974691378 816465455 427204656 735711159 732726762 975439486 671901404 548157275 122038657 495564881 418533784 739965644 142016272 602101374 993429152 437361629 232501232 571461051 630882324 821544394 647635217 177924141 762768014 183036694 350450791 718656798 601255021 413635307 252719153 828197743 786525679 168729461 657841332 375536615 414624603 723718292 981600251 198955484 602486920 971773528 906017877 705033357 319157089 970108403 868952994 336117479 935977108 213089780 128402810 219320843 782647314 634787440 987506144 485274821 156453880 173362336 773849896 111101691 201320285 546109503 608479990 705716124 886393960 735153685 107254900 195032994 459363454 184106914 963958555 333650596 975567914 308973015 959342210 678918960 742989978 729193399 240002613 412368120 805956393 670164734 994536117 553995591 451157672 108031335 710002330 946676049 173207305 797328065 745176361 749349984 147032846 856057907 535872782 142259648 134146891 329196264 981014046 318188577 397805305 257049058 515192369 407320042 563612651 481184974 316360098 359587568 401577275 311135860 513909041 827834205 321266069 232758156 802355811 654131995 206293200 694108230 467442243 302023051 674630084 474414863 901533353 856756255 992690211 388712770 704454778 428105569 273527644 794046450 301053511 164306530 788208110 607342031 465231319 711465576 566457107 740071069 320368969 807595628 745954715 634716506 236463341 246948741 612893932 884354872 254208203 846511104 396653273 343106403 418945348 829329420 591869921 251697244 333316392 493509853 227493867 442720910 247649086 979231351 819255769 161675390 716728654 538057482 751956419 336390038 763537060 104091187 383337840 958310598 103503822 938998633 826949523 760715452 253173314 863828988 732647322 589175844 577234978 380257287 915359113 799393415 525368606 762383771 106029084 530219535 208826939 244033282 635235874 630306537 348461567 301084086 810712999 563857043 969361369 921276534 976705691 835148245 932643160 969689886 889205886 556914724 811014147 820272132 851471043 692520983 734151727 342097614 511257628 783485250 422856049 228363987 197451883 811933551 371460284 405903769 151179100 248330520 575354716 694162793 343668138 825287475 621742453 887104518 999153673 143413512 349572651 860606171 713066884 144153294 831929974 237963258 458710747 916868739 256715195 737019017 675762097 685853069 127873290 582873803 938669368 475680066 506039730 651809850 948088326 404944868 883681814 970945941 155987632 488333156 131840187 912410990 570193942 617102213 667706134 572081630 681187630 425655896 174271628 230998384 799460996 489789856 673934714 297688149 960644268 223922108 461259963 152459011 116323165 545165154 651936997 122431373 859651839 535318948 802884224 388740858 762447370 971217156 832580153 188158330 985891788 262895696 402038828 235211989 472062947 898738402 756570466 729850945 998433741 614504073 595517766 587679726 608825971 957141076 137727178 193304531 827767381 612427838 275393362 115671398 768399357 452295948 520833830 469167911 443296546 280768718 810368030 918514409 538001917 956664547 776598921 298245345 566872346 262788803 248270995 785413847 786204287 510667050 959568040 647228845 846565494 881403349 167417048 295904369 986191676 909156142 351515384 470979287 789936267 684520087 860486714 296024025 294396066 572210398 725917448 997333250 132885590 237211269 135068577 779220971 892147260 549436499 203986195 966323477 531933544 718061071 598466089 489720807 925164845 276819915 202940337 972486848 557865543 319935398 144569362 694985436 850119867 778151680 219594898 788014020 950164368 826789135 771081364 100001555 800103420 801056082 935630665 332468946 667717029 833629236 431579238 374367504 481783764 857436848 170370382 353457857 330882251 228821277 177765070 881638718 647587488 946245511 435801988 958640784 893693277 392517015 538450379 693922156 948453776 165951547 758834364 174356353 860011061 914809761 793160658 275366161 262270547 287351709 261481080 720000666 538732200 893009992 624178724 381436775 536869145 154041761 231805151 313165355 810933636 528647473 621192732 320119840 795613573 827507106 277577685 332881628 593667131 910202023 782908161 983103263 296189589 764481407 393050897 789679814 686681326 712340406 523661695 207029208 510688453 904103992 795497367 519917341 273210776 554045988 834356964 647779124 532705917 240548105 909410207 119136644 680370246 668495465 164549651 879311494 344027786 590005001 137718054 622388873 467306434 666560101 688266850 394256297 445597938 692340051 378604475 357453388 503961440 667266029 253215958 918556935 576244523 306427658 175478669 450549411 765960772 591607053 506414142 588280633 500231481 101131087 180253195 808657692 141852443 104168377 262566060 700151633 400054009 102681005 439175587 360614336 739805030 761293171 467287845 845523230 352712232 816918496 977916257 129709139 620536868 298875120 714738580 150566318 695890753 537411390 620450042 872833172 384870661 484660326 587691339 141719461 496781056 210282233 559743633 555276813 277034048 432131619 161142865 160712892 525435253 502389944 920644701 926292301 115333603 229108942 798890013 746731577 401806367 984037237 637767746 104811083 818223188 450741747 849069996 698285442 185135558 579879405 947486113 299963110 846013365 417238464 854895815 671565365 336857999 131160040 435952454 252559882 890664421 346758759 762800748 632104643 976840592 917057115 579065438 577165058 563523866 278407999 133253792 626240549 872986134 619485620 167026097 651611734 226027259 781832717 183833526 153894678 432919160 318442910 240117299 569213163 853978430 564212220 281988032 204483384 531597411 640126936 666754661 144118037 412303080 137364722 242735661 801521803 453557535 148421689 652835758 572791855 930066107 257763984 834584851 251759184 453846986 103648697 640555712 653110757 524252244 924494387 368431880 706480409 810536911 791333744 119787032 753589898 754190158 399669042 357167757 205144095 434185702 409176082 398225030 370509912 631935764 330004137 655732158 148250295 720899479 115397063 216643174 571044629 619263737 420976792 543578835 804066264 271487088 736570456 207588687 564737403 149580756 597646889 345494348 885578765 585919274 307466228 147630195 916554788 793720025 453215633 476750355 312449110 505313460 803303934 470743105 747739695 245404035 586029058 152568288 828410418 906645772 463080868 382529691 548162435 278364235 668738610 449278211 195872222 989793192 839368233 566920062 260763690 673190618 193010971 294935147 640172786 931352607 609062458 997033422 166316759 289905488 289640194 827650157 285248139 308994160 263385941 460174766 438596668 232283860 122509297 152902526 648207782 722170970 720487215 681903506 956564901 989730215 931539746 144503456 140533790 838699166 958454548 327606205 512690232 434931187 787575986 331567728 659350817 368404274 173688087 546550667 819516811 711742137 605548715 719240237 709471301 733825728 172903961 852677905 198956167 692829188 682594740 949235567 777393035 977912677 239825013 377495084 578556225 471094215 598891580 673372080 458095969 101433890 563398711 423318661 945752268 857493808 359673577 187667558 950954256 496976824 250090059 422993497 694579669 172840313 518743236 247983138 374114505 407038717 888494021 593948560 412687603 969665007 668279290 399102356 298829153 847040660 620481161 434477724 112056696 237882923 230948740 290559969 566138354 323998350 677936213 100583768 165775850 582866323 723101041 563668027 439727438 837478592 414489120 776870843 327825843 288479448 283786414 533597124 503185901 417282403 667138291 689639026 759288809 507139955 342538827 459401698 964213690 365100329 497522879 846795525 344886416 161586280 129196278 876623302 947412177 914856628 200715686 830381985 674973315 580744588 620785981 533132253 796364533 887419093 856816697 404999052 479920553 641400287 380276717 848009045 833969450 556591023 552898377 685249134 611187421 612177980 198571294 399822186 751433290 811157663 917632001 997392806 600961377 532907418 331771167 691500955 517801278 252412151 212247817 930890236 245296398 655893796 438706767 370663137 491844938 515907574 484679466 452629725 808969600 225662458 689631219 815089078 187753148 379224551 113069640 869199388 556807079 969539122 421600934 592980494 745798877 535261254 197339007 298537133 171516376 713896508 598521364 677016481 881238706 431617079 789417045 306622468 600527275 627466802 265054478 926230018 843955999 441204964 945650931 342671852 341013097 837250845 547306112 691133239 251223946 506028295 919056052 941930593 754431163 657205251 105413599 813574907 280023862 874888261 812952370 609786223 154312165 470455550 478786083 951467911 813492045 561033734 771819397 751390565 619855365 258497138 834798496 313920125 955704546 826325484 608350629 416978259 299207368 112174203 350601474 498724008 759539586 930568901 731748536 841386015 292121968 196941868 110231347 477648142 501464263 463478173 702983894 465491032 566306915 733811405 525548047 651288332 333757534 738437680 957246421 105674368 868815554 692954816 528007049 450587385 695965504 706987754 899107603 375605733 677073203 280540534 196509894 257235166 283205111 684335347 188258262 994734698 174158384 455411442 928571267 609266439 547397932 472768538 660356261 188932509 543704759 673731144 234120570 299646428 236538923 362251043 983847386 438626040 164881521 348009530 992281127 260150882 592150169 958222706 774077259 689861433 101426808 457836788 283762293 681768228 748751358 872344969 471747966 693077640 175850299 586149691 471360096 444104523 165346280 267072000 541063633 370600666 528261162 135934607 405523833 185713700 832973269 647479330 795865845 540741107 246764275 468185437 283337543 573085072 881761626 846662505 687725108 546945127 586600299 492768975 531648780 455919795 661943495 508874429 253220264 568307217 638184959 514755070 590732239 886785511 773981619 539853085 705226387 196226895 628926527 575774318 915817107 254221557 188568231 270095508 304046989 458944417 410158630 805181260 206470617 895040386 885757912 972711159 188205809 492088792 438083213 804661971 556075206 469499768 598712142 879055017 317911330 531436716 802061653 377833193 854975899 426908976 549422473 154010178 733062618 734402229 448485289 926670012 352310634 200176077 293144733 700729976 505254108 148173795 919681087 804598997 250101676 260590168 701095343 958610777 881540433 112734284 127699555 858464020 685728998 876128508 269072481 342029680 594358765 757945777 840921544 574437259 968199746 545991712 214757784 430403413 324156675 178981546 642544497 278356699 716646922 753032983 960268806 540613248 860351749 707291730 349299627 416786009 269126427 594163558 279573280 753659715 767329233 969404965 188286971 108282324 344271485 636059815 121529484 975072510 703204300 365268529 623698710 573990498 288672066 407129693 751156376 462901048 531982114 142460774 562750934 208887681 198619257 930325004 789030189 523445652 844744666 770104961 917478912 504043967 537869058 902851527 823131965 522727726 602579513 695807217 941201723 228295716 854160122 436548285 111724953 949304046 317283648 105926261 751656960 362344487 677203790 702649395 214555538 879088787 705809581 740266784 147599971 814035420 677252154 382678255 554511833 604044785 105027076 628178898 939254879 822477235 903161299 340094283 123816029 688327076 548210050 579302930 799960211 824791950 410676756 621054059 468060980 864471571 139145558 433747584 408997262 779870416 804596492 780578117 536256192 566107806 122951576 694227440 916428668 676901190 211342014 995111662 753744136 193964270 344401173 374938816 920292550 766808469 727203675 192728369 622740305 906263145 866628016 234644918 168650770 723742220 672131630 519747650 325045969 509117399 325840643 951634659 995388084 873752668 619430019 260519650 464847076 227434431 157735242 797080065 183486802 241130444 866903674 207616020 548879211 429184660 307943238 902494997 427988396 904455449 913579665 126721926 704310054 732941139 116282299 102302038 119962755 946783766 286319074 922906011 612224906 292704148 807150997 723526629 509146761 952003941 191188350 382633124 226466179 324364676 831599768 183744382 335252462 178144773 203404590 820759904 885227069 625136785 355678549 771356365 791663927 204899140 419471805 142124182 751257146 163033213 473300909 196205345 901008727 594111082 388032407 399351093 547191652 769728337 799487884 449330251 217376477 369408397 864052161 800201863 899298865 768749114 494512273 124924168 289071221 453046370 241921947 475558163 843669579 633878354 397071513 956856483 397351686 292411474 407188796 808009066 549751428 338249418 316328274 367570483 370642973 930174542 994874489 702043016 275295189 934615847 404816245 861336301 609677617 361433378 643839162 995284628 932375073 443520855 262622119 735610010 286395575 652691385 678918073 623023142 983233450 792604694 671411470 295981833 181054781 483487969 225835955 806057229 811486129 227267332 176457537 259255939 512217771 732445711 320319636 402442477 448280027 988474877 626830573 503456679 334158853 185227582 892884060 678694866 801793347 599736894 163622108 908216384 671904357 328709041 598965689 869907285 722497885 662174411 871888015 386125753 792411415 668291860 718274174 428746171 229942046 497273206 162401593 134705871 829115705 512416988 239255869 521993696 536927540 396007925 929922532 804755472 834149008 265078090 548000874 159110390 841207470 607751231 480261218 148526160 559677268 161629679 390424686 371139702 532943543 554663573 366310523 233496110 946966499 695758791 995756815 969850662 324981468 972558201 611151607 412105474 164816828 750748700 914665048 142149010 731728573 773598135 342259550 339658285 904688381 505589978 894029500 926375118 354236007 446845828 195256918 162807067 999494364 360089386 167506558 117454471 159141966 182405682 773788758 737120504 159191051 696128335 755402974 115222465 683188507 198748621 389563902 301909321 367032181 922198379 268924059 718376006 476481336 498549214 213549884 210822486 857956960 330908076 332950841 548149962 692621009 687425709 760043507 386345797 898819270 650193648 525486616 612280176 246984099 335146710 118502653 389581887 952491290 746267250 228845114 454624162 568337126 857587692 622133131 816936249 892700248 993161208 645364524 441334929 686816651 212619311 896366362 848505145 203027938 246322309 286903394 915984772 334134826 311295054 659465852 169738748 526705310 535940207 431369607 398526815 921230362 673276375 178088028 124170787 349211834 706949726 339614594 214394562 645907120 833443971 794857353 156017812 246131207 732604251 768028660 807869629 418997380 802644074 347825410 775580631 220158782 810861686 825834151 252860361 596793498 824397959 280877141 245132272 598548915 466074195 455418289 256431902 378859609 215398006 353607565 199419728 820180242 157158667 195226948 656839419 889245658 250224810 474148341 662940352 479320090 610432616 729495596 311654984 953242137 241677161 984822044 141411284 799556841 269806443 226323865 765019394 789222338 513625538 906373846 649643732 495542767 606577259 660715980 991188769 110012224 519216208 132308410 968664489 420453484 183693872 222058897 329197531 645170664 269283591 336685934 124842171 446391706 984363206 571216968 166892624 256289454 319536135 868332572 342673698 461691032 945511528 959281069 588290181 762099138 383140836 241559735 925727641 953259360 598937178 512186613 141207480 525088146 918707573 176244094 503737121 906288537 551528003 453980308 806845937 417623843 683316985 123906705 546226305 231455030 843657324 228703879 754390205 592262722 660735650 904769692 626207415 785265798 254793171 258904811 838016204 768235767 842207909 748114581 179476284 787716240 923397296 105692728 425508909 731498635 791811583 736561774 965729768 390293466 460840831 278821153 954609623 730242195 584003885 285853371 488445084 678610820 344043316 648294014 109579275 953037245 492263145 907399846 104082261 396510813 126118473 184389402 669275484 212818817 485708043 101651346 136040884 530877965 149062076 847208670 548854296 658386628 632104052 965708308 519348500 642097332 144916433 251817608 524699772 789808156 893132480 430281350 211615297 957412645 632044579 589322408 919370541 537706378 961861452 610518243 540900031 369613716 379385336 175268934 529187789 365819149 552875659 727316757 340571570 370993750 180424396 218350096 608805591 285805935 652542709 910860429 160660945 383036708 996155462 254522114 214892124 993012421 380638322 275371032 249304286 588944866 548979713 718380048 701308863 862845182 824033952 556379165 967659266 393977622 115570818 891888117 613204361 766866087 721809586 364682047 579889479 255624976 143248445 101290454 695096079 605396782 317605204 887349047 377947062 136049607 221709813 431833630 884218375 246887895 945709102 871293114 488428575 191601718 281180308 780938990 339110804 872145371 320343706 681929253 126517063 919920796 260932709 870297903 632962136 919903819 558869777 864184920 932273919 211403109 409664132 378039548 743509621 988346782 226454971 442996241 883753242 144422482 993555383 762552502 842266005 934861963 873604477 522375210 668000455 691618273 121728580 518019983 754508727 959498910 401473303 660371373 672587603 222104020 517022952 614677440 908628162 222026578 148068150 906653869 741462407 921067943 578667875 153359156 706634422 934099699 342424200 655223201 275715655 705760297 153350753 508476980 958634410 460075783 698908202 717530049 306321836 236652417 892856582 216861028 498973857 706174185 166436591 596383929 500851303 670842705 884408984 666601583 357610888 679468440 767252866 961766652 374225057 285111204 523725527 184686755 548829664 962277407 433540352 877911411 310078577 849646126 155099551 702334411 956441720 168797205 585233320 598542189 884183814 998251251 321956242 971875806 874407573 412762461 360954884 560750662 466981119 513287397 975080517 455577153 667599473 796903060 170203933 808400338 998571601 417421107 470518654 717494234 520432594 680416420 288390904 669909403 696643633 368157920 966977287 511249647 186202562 862341260 528009716 137791443 889159501 205115007 110098683 775933305 712044536 817802612 718669540 264246572 862300597 847113585 130312442 268283026 621329755 627559365 375537933 697673602 985517085 280559852 357367386 210905133 100397215 415048457 898535550 365577585 941266142 502390961 500375474 275829049 926645780 657291422 910927133 210469239 973567986 974279803 518181738 587551519 312925412 438213598 715326860 444972483 885009311 948997433 782395123 300308947 105201924 802056734 737635141 532209375 490841706 350009370 885435476 297867519 172080769 553824536 315458338 999365353 966793628 993177515 545854371 435268584 926018265 327688413 266460201 595464732 934068190 748688033 333448410 771024261 235762352 829006598 499853187 453508945 294184362 837791272 139823872 166106176 624806807 499000921 556500808 902910526 350199783 357989718 146202376 370858944 340691452 894071344 248903730 636820475 621436280 994352227 251411120 107902059 672357019 465600868 650164094 564680143 100644801 827922232 275038995 651171756 886159414 222991246 590425494 153769532 284137169 415442444 434756842 330146580 454630924 426246666 189680191 680144663 103142105 931338718 976351609 207933422 278806583 165510732 723003012 772101310 363650770 254017429 920449008 665910070 233590430 436887735 848494795 687846519 315376408 859278530 315941401 956221979 967724548 281148585 916060792 899291886 312048859 880944765 142707232 877714678 341139676 801110141 186180307 692028675 358378056 499275663 565838238 694857920 189563591 831520864 205255484 353127754 208117355 889924547 619515627 962032964 807230610 872037254 161967604 582957806 820695198 273183819 335838490 864397185 549956632 605172908 571177862 503069032 257955164 861918185 838864038 549619532 568029423 473894084 255845100 468318297 988005978 849133605 360449305 639990836 163069326 225850760 226600207 382923611 124618760 130405673 954140450 766251691 648131051 922655591 287464466 358792741 840433279 858345367 417822801 870057430 286783524 488293601 765672691 398293413 632278419 319697396 117058024 786199244 625561606 833712680 164019105 356676131 238042238 888379789 900516448 470329741 301984403 638334431 445276741 105708427 685497179 836950722 493295135 929730571 125113042 679847041 877332000 961042460 667356152 366145996 138473704 472549624 302301734 298723804 263655845 498948511 319511763 373124269 913885371 362759073 645967976 228087051 525359925 398381485 246712069 609210797 104448557 199194118 286795371 282250568 887476614 210894882 811451549 459610381 626580162 702093546 470056719 773342020 417382343 495050943 608531180 180034761 859988305 607848326 401527249 201389062 889713427 562831061 261690667 554789265 794722877 990659236 784052689 379661284 507464240 625947454 625984948 486350330 822991425 619895411 884776404 752495449 136340181 843617943 129508864 398255542 519707118 591536796 280270736 225931952 374822711 250287270 151527659 909030985 370136793 820305818 370507105 247234425 584643926 448312539 711039487 843786227 875196582 153856093 218848473 958125857 907204479 404328034 964218917 204691879 702180670 802136128 881933867 905385730 667602817 865339225 397066604 382417569 238734565 175869728 808293896 342881242 951020633 750527804 728014770 619885118 866705614 391637871 721196105 280958033 249802157 689328145 582797841 822680029 935392375 764246680 494306460 854671139 508611559 328185801 276773484 562201279 787202240 503532527 267907535 717934413 400985122 559271385 410640013 862017745 739676218 898682276 648340962 124099647 383313396 383433204 435393502 309725717 309519084 868482515 998879283 772203911 346551095 475400471 453987270 424633256 818538748 148985872 945389657 331025475 299922118 621634798 114135542 313860060 806723353 708553583 371046505 458413952 147905386 556956081 791921061 207687771 814070206 128057945 275705139 699773841 135003113 580577468 954274503 281935285 237733844 357259905 836387818 973273237 379764409 623596634 858123303 356247962 530468685 818274015 134456298 196663202 864035189 854813325 185268383 188840402 635244152 610673147 721600189 832812285 199201831 352174385 302384155 555478611 104100196 895003646 733652787 421106900 373482513 565953220 334808978 323103723 150953656 105987823 310745514 668968066 990344236 530911222 178500514 903604950 503378230 541782950 780484682 723716834 689700995 786742499 730159257 331416635 668089460 220286930 449941246 328231542 474845911 655442808 582426698 419901426 350542335 937790835 173552125 300256346 257574976 136826482 351396358 993652902 814180246 947988732 688045528 841613514 930559656 362623599 620495566 169477423 295737264 175733077 872194322 896643849 456218690 712067872 175365484 201041206 975695863 694913568 488538349 445071679 824484499 883863232 806209048 981652604 440460313 653582116 763101344 612341607 217938530 648296642 723141092 521789594 852823673 534858082 874337910 737578987 510821195 121680341 600545784 766927170 366462891 243249030 715123431 649647398 135285967 343076590 862271221 645830123 270017952 622674287 406233801 333018793 796458294 554400707 383664747 707311425 854703410 378073411 203571956 529146791 408728023 187915959 318161156 718190528 492155898 889510562 736445850 478841928 123068194 419953565 665747434 590267273 867896149 526135714 943924356 698490452 511751480 844472229 635683824 961551526 582875886 888171819 867953779 874004737 748858316 663318567 147537588 766435615 799400366 249464162 473714765 538603959 648940012 181206094 184082852 784327207 791102923 547634425 806733121 577557951 106194250 726389460 415785068 450122520 399395668 240550674 801638155 262845810 847857810 557554992 857341890 599237023 984689564 980407389 624040980 165490658 851118250 443302048 263079579 840844202 777418418 594334769 545101852 592768301 899964713 129047806 835349820 949559991 254157131 440584588 755073135 120083349 153510728 717686888 308157899 239708807 865057992 424573149 548536716 424798317 439671742 517243390 402199358 725273331 660448505 920676143 116461791 319350473 299277925 208867000 567792777 478942865 447775228 927294646 891430326 706444335 157330028 569006165 639903351 658982686 583398906 270586025 644392365 933873174 521188393 193871983 467388717 454069191 233923327 671990752 382806700 690730313 110797252 647538085 264622648 479889078 502556253 152210034 713882215 861355595 431947554 661155567 299778187 522383122 392890933 221312643 156291744 761346608 749210071 129819225 694846606 494215934 665594820 962981721 916634459 359160131 189600819 854966023 113036115 117948350 303831648 988469716 151347883 811141568 386182097 235904218 985319908 389098062 779389857 318095571 691885766 510753291 372735596 561961762 973909120 554628734 773693601 767452836 936863425 923277342 274666117 863630056 927873644 903891163 551383657 450775246 647477940 269633066 388864998 871991876 787931177 629787920 255115837 779598299 792588785 105626884 658012232 296161320 568329795 444896279 883952960 413409540 373907828 768483446 167070077 808358325 696983322 585352366 175914721 241751619 839234765 594058680 967275571 986857188 448496333 773667992 820996580 678730326 373387716 290712290 753528018 236477480 285463466 350918674 191949260 751248349 943776824 489308143 157517555 627041274 433940002 895971275 521463053 518047662 804043168 745980936 715763590 273771530 705114559 166428064 874533844 450581613 531176064 569698245 190733569 897777407 580495361 355892454 615017418 607794341 666912500 925610167 576824028 140801480 916876832 222391465 459185945 201925180 416323259 815287706 443374844 162635125 153151847 798329667 760659593 177199839 128690844 999889327 177331879 140345525 671950686 729830977 701030628 449856695 346212546 396251023 840842252 606505060 660442364 983905217 294343901 246639631 954773977 457305761 999109982 479647807 637829161 835939929 497326373 137401533 674798457 796397153 558764768 841742704 507909696 562668344 113703515 925692781 385285576 911262395 431028871 214027868 920874248 117203427 530238511 823346664 132939862 170624273 489582723 992110284 544538513 628764695 682493259 609590063 703678529 927786520 977148659 256617920 362983408 775625569 763564642 609985860 399179549 994147627 951173638 299129476 539937445 990253261 843670875 690497444 159882175 835824843 674858779 777890426 522706241 597973205 754630317 380172060 884710545 500646400 746016927 476412791 629645158 561604170 178689684 552845635 991111174 159328031 932731642 661347579 983605009 551193819 663170106 326222206 490489144 262610254 750030149 754181283 538509172 581132029 761828678 295766548 246416896 891238392 930873649 164575556 412590025 352799537 721149609 346692423 494331621 274949372 734064045 167105040 522138931 840623221 783547286 421894740 292250359 275621392 836234735 787010221 858191910 146752679 790261111 680300065 540453380 389694428 192266070 749456422 403181191 464630608 798796496 671854629 535313847 229494178 950972696 370458408 751263563 240117100 170993570 845771635 591915130 323763834 408080558 109136992 322089420 216461017 305922281 806012877 541145371 462211568 581607039 873208346 250175393 781947358 487858358 712153409 389468574 617344582 997674795 973466276 739349925 919532675 391684822 825852823 610352979 279987534 986521998 534328366 671413352 601336853 298576045 613103486 788307757 369773753 118193544 253352224 825863328 201711953 779256763 989083594 797051404 362389162 916467937 301067870 836779585 745191373 187178737 478854018 473750757 421600243 482028925 913976125 553181060 575483122 237404038 814276890 594637148 944795738 171268473 461966170 934640190 381646771 985828820 338870381 815319033 261469795 427460131 830758042 451389540 896501830 733229369 884415266 347869489 936525705 793789358 586905492 427317670 419961633 193201638 568142367 653931791 992082251 558051266 597408422 851751240 981315822 447328329 925147320 803268795 610353978 151800980 315339671 905354333 549485083 282121215 539877590 452428826 918145538 519463316 941741317 708189354 385921539 318585072 887840229 822601672 838560825 100889695 866431900 775981047 300930571 354186469 396187054 343458480 133009363 522543139 795225214 536874154 734697142 219909761 909589960 246677645 139180308 943399387 116978052 822113151 291451227 469206524 140747383 531759149 315578783 730542109 517895496 273040688 984908375 518321283 137345695 768801663 848173145 811465471 787692902 239670978 109469563 363961110 524569011 193096871 303149040 601923515 419239595 684285670 493469908 619402670 481391928 503078833 251804237 796074028 363604901 281931107 492997320 843419791 114654483 961328334 257017045 745797411 755427759 803401333 161292140 903162792 520052789 569336499 656229796 764562941 949529370 819781442 823676636 608930911 757691524 144566963 994702370 725084932 468232362 695207400 222772724 712423057 537711102 315188496 814562045 755896383 358475110 125989308 222071137 888788298 260690041 617579731 864617798 395267472 106079202 561543511 974917517 928752806 592688858 917082674 572520014 206993231 916550557 924337256 600115152 899837170 712469220 654482951 979113275 947876578 653110326 891078852 393940831 789689161 732742250 680534541 552924187 590704804 660164856 478202206 647037386 619317092 860421450 100832997 921440271 232081126 983367610 878753110 401416411 290401657 427348277 752644356 249564959 671478224 212327103 921843192 889092793 510978898 710677946 655775162 678166223 880316427 377272024 916650645 275439908 329745248 129725840 605909720 310618880 900659212 377401347 393697342 231965506 204804233 106032302 133571734 848513807 934868516 400426032 729441933 234100504 127211915 796663742 613437094 750439041 389972503 641675246 618071345 649466173 419758529 667250061 910723489 942369369 645200215 219126675 433137266 144586868 706330293 221532575 649633503 112937198 890865214 789557908 837338945 333217544 872792591 119375051 381868363 447555888 839794219 710748284 260090530 316695959 778406477 923873545 276887623 696640220 985804303 236177765 718872589 881296142 396679663 502827211 461111348 741456861 334684106 957404880 638786096 639325055 288533287 543613079 722502091 633267046 551660501 518176916 950437146 780364059 169686115 134268202 233092050 945942884 342519087 298732293 366491805 822350612 459535620 784615525 105587935 134287310 914915509 767605339 672838053 462784087 642138257 140918480 290598294 973317638 264309852 218798005 298461683 188873310 678430232 832466421 976968675 248987861 631687852 573077320 150128648 860805223 898756322 517926657 116131018 308406096 545403561 599092205 558649039 534794403 371133038 385289236 144374979 195231679 735117261 933671720 206569357 482577832 555940132 842163395 949638379 803821248 100494271 743979451 144810172 946572900 502277094 294021662 500683070 456851780 640967386 624226980 108152212 658047375 486640667 281176971 663276109 372663330 677698974 303702419 505168218 251030225 932660369 682325704 943452540 981107191 746504230 148247775 139898343 840553765 993020444 925173713 688005912 881505590 252537884 865090889 208292469 651181724 852453275 541626141 990224443 959523485 318210631 395998572 574666633 633192769 512863008 292100469 696694038 815371665 639996356 644955005 562478208 852778331 419081287 902435282 807699382 382079891 125131847 187204396 663697178 725965492 918688789 508107333 777058798 854894213 557098208 272112920 343063317 565857018 167763422 858191753 393488127 747589136 585843881 647904786 842654330 293439812 150342715 821926357 190660352 553732619 163199511 244866257 828085937 949079444 643276391 496657480 591972559 609844637 847506747 979352765 148962304 502678955 573965199 560532061 940640276 979873152 902772330 494657803 159005315 379783291 514162678 189991919 320925513 404747157 703704032 981197840 711274766 395327669 848795019 917964270 242208333 322236575 779339920 556548426 638075793 247012943 470108775 646336421 912010628 484177672 499826674 240697320 195908199 949714438 652956933 540792532 187479731 689336173 297471222 225700747 568941391 985138504 991424579 638654727 253904458 992095361 943089711 867376233 311109430 375629853 112846773 260388533 703093638 574994179 601030051 973780839 825370084 612851413 817068395 345887015 859840349 249632573 931940948 240185058 790346550 585263453 192254946 362523215 824618634 301287836 943401463 589377583 446181755 314399862 486325081 413495667 528407943 958005040 704402430 440789201 695854778 524707350 436212783 424656400 812459718 903290818 350115234 494613311 658315831 663735388 863654328 421867696 750834084 195043597 475929555 215307556 888457859 778514398 346309837 163835605 459166198 826095388 886686397 648891699 771010148 974670643 126228865 967702082 813924469 164670614 725700435 292263905 615992943 278665068 147614456 975145290 669513036 140573039 314241624 109182418 248546080 774948007 145883363 924708950 173519735 820620774 128680475 416993200 444077445 264429744 700511958 919574495 471114249 154111591 534089430 778518692 344039479 472542881 702005040 940151598 811895440 643627503 364285180 101622161 489528113 964464937 893803329 583756545 449089501 440844436 575059181 392031259 894671463 649081235 243917416 498185191 578523827 698540645 784840668 837552825 733002479 581084645 399272128 865515562 952223213 488062723 487985957 525393205 193162636 547697965 609269840 473843422 911720208 830188483 464544612 990220229 905925561 729212668 996370855 769295942 856576531 765799417 165238521 334117039 211375411 115622792 953686761 121120981 712933918 104740336 532213323 290074669 822163670 589127426 509877730 130824540 616066782 678720305 741753256 980787341 618683770 865195392 691405735 256891050 839979431 566157303 960119370 170564517 748377659 920948717 637426953 563749513 652719184 617952137 567580717 826168485 705679652 292711979 350179621 555529513 958743044 612503700 398604429 555020947 663663994 947899965 819928278 461429078 348562722 876316864 882922150 119765814 383591585 213395502 217235643 866942830 537396680 260254313 231231760 292194659 851245975 211000972 828852907 589270695 527946823 614950351 501880999 407792400 795247775 850671915 976818568 920515930 227399355 995915855 441461073 149108497 701180193 142585919 311705819 896669222 911782272 116616815 774294503 969333017 769581770 533478052 822938975 466431395 600651410 124955967 119295060 119638722 970376184 178229032 445275133 812811348 674097641 248217278 490334118 993847270 805130959 885033344 161078039 368710704 612522960 165711857 400476951 119577415 314400643 554195330 223932651 687287165 398410585 629271409 857821114 419471306 453712056 266588965 690828914 442310928 965198991 426029312 819920351 516279765 482802679 979425794 594421149 233201752 666809891 908894591 100960405 292527839 917093515 450596855 700030583 452008899 689138870 288655095 784575648 648372722 682366046 136313697 107113959 660809753 820009117 190185172 199664522 858714139 483075586 432582929 523465563 261072352 539296460 120197217 526896332 212971870 516352934 660726116 552471026 393142276 599362431 639872184 247513857 688722531 588867138 490265374 946494370 405790770 455125866 226040972 387286332 177811804 646181399 590845534 305875252 510068222 723869419 267854337 301864131 290566464 220810831 846525003 173209204 813862705 411259864 463962302 412098893 497765127 204783953 664063109 486741297 356567351 271201723 617916684 391443970 578775538 907683431 295095650 283688283 378983176 849477214 901545669 564764684 785296072 288181045 658381663 453840440 698492967 487133965 228438058 206688452 168728460 359933559 394778182 997682509 260986020 320719818 248894478 414792739 627161021 972020205 454401143 972385471 803637656 357460234 625105818 709229892 930958895 798736500 615654944 115685912 920181541 948383094 934724545 363234864 984541083 194291243 100554869 436187842 354114878 121206837 715845896 597032251 245713031 331740106 571985249 181259231 232930879 448779872 329105814 796349976 542902320 886563839 325089076 305461413 703797620 448259415 616208196 660692681 569081753 467824344 542652235 209496707 354307686 159054001 301073672 724551661 720446465 882042404 419024070 512446313 870553642 973284949 509890637 668671179 724270727 765759450 888555147 753296610 994974702 616436468 661221390 593873892 466228979 555770599 637913201 947073604 466576293 182550246 321516496 128688742 367842014 140456590 876032392 530088111 797348661 421661616 609342726 506232070 813386861 814084474 958786511 246854155 538625717 538456460 998211728 266237282 733171648 523768919 586787758 502213664 996637014 757261495 167432514 862950765 842209249 435270445 285711619 532610360 823607198 983209237 958041719 187870981 206588761 563785321 471481487 446035200 969069260 207369184 614678110 152891554 111819322 116483156 266697379 273040930 284939279 684915652 125565225 693080282 654292539 365505207 782009851 425920698 420082557 317024797 259643229 346721166 764164407 305490306 508466212 758148617 765810976 529938075 199772440 130863499 312345940 123581126 243270026 785499378 736844035 319169320 738198373 500828085 611338663 710087935 723498356 750375642 204228434 875777356 751752177 446516844 251757638 255238344 313202584 371886873 653535541 200010640 986976505 964375042 711065793 683352896 868360111 307444301 667677761 764989106 631885255 578808947 134908193 619897320 480489954 724779036 417478674 482880828 837121151 440917516 419351107 349784855 396478793 116582277 463921759 810116182 538138383 209839217 815371088 356853239 913230643 340274476 977289386 421344982 693669801 152781282 722735521 953056197 326611570 422135918 761302797 154375548 757856999 913778484 841815643 708006978 348794811 301272058 709075235 353468108 246048804 976656062 629938338 173240869 922657077 791006387 656956746 971568516 671456880 215482565 691337165 344353296 412174510 394536473 243356254 804464749 114253330 921134246 216286960 625444340 192641666 376406992 220711925 832001903 236576225 445504653 722443421 405465961 129045772 379994295 805995427 988939002 745892807 427766234 590809342 539053544 670404154 546635225 329233701 996114682 881349681 339311797 146549769 831444683 856783624 325392176 756793484 773778842 802352436 349666638 392347415 264580100 548580233 954877380 288225136 700032775 492209942 205431036 331124838 957110436 911740905 707153135 935785986 620232669 448973856 941742384 576263089 938265603 786947048 966069105 373140749 276112792 794815401 287849376 116411629 202143346 792098424 369212025 589479006 426524975 466576409 918683598 506930466 549393974 374373075 336228068 107629241 289224482 841222232 313095719 860218936 425819211 109671929 579043654 244671935 219735338 637777446 930784235 163102735 296836775 232451152 500721603 429018459 421845644 462990696 392212747 500145762 810190465 397957859 670790690 202902014 144835281 335375556 418067226 740428840 669611527 621135102 395152964 304798156 415202047 345634015 987934101 921915932 477292691 421331508 949878932 913525404 468413661 317003716 356976330 445761330 915874693 866305519 886080350 508154871 888816753 333073695 625510967 496171582 402249072 519091791 402934416 325506859 726128923 813509745 117120726 462175845 280091565 173864180 726971589 440270177 504288080 854036730 264509549 260939704 929727820 426947353 359975630 317845941 960385143 428362041 305276249 254855369 342286467 312603963 356815419 249681976 333161474 215815997 609602068 835023006 164237904 879119977 981562064 929740450 746707345 422745501 496481961 408301104 973868145 190668372 497352430 970463660 790390847 368370824 776497641 912292761 518815598 388266164 277710202 245630695 412690859 363462274 124502740 248349518 738901068 915408375 894514557 203237017 986138779 591948834 340276912 131823538 589096164 533529827 520870811 415631413 151059490 557697815 977633867 207133387 610499464 696501768 847144199 664576440 400975740 381862955 985014092 225925492 859437672 137653674 690097834 329015207 240019030 451068106 547619171 307601650 423300629 663142424 606736888 936258112 595646799 486985970 627666123 230372860 470412605 373959376 793104833 412973603 664304240 232286176 361474727 464843568 985656556 566206202 861781121 481348538 307079585 614028842 616855722 414066329 869199620 840648772 410622749 542461645 394324590 989392919 287355221 912603715 180582176 171772937 355819869 536050154 365036754 869962130 442380500 352966890 726375813 270760218 867420322 361451952 912894437 152952700 922527577 952863977 451684960 900771279 436678254 147179802 598767794 608276726 111102495 631699685 990592103 536637818 287292967 946743209 500017325 405435073 983654725 191906670 249107338 258050793 630522604 892643129 578327817 524306252 433885760 412287265 856971772 356700748 735905102 246575033 520758646 605928220 310280661 934995589 244177226 551840308 907478176 795285971 189782239 480905293 735603632 492874131 561021092 664932629 658142671 443317891 423051462 748115170 291510143 899063915 912684338 405216477 717095310 682207078 210404171 587290485 542040731 126718679 366032782 269501668 584640753 110723398 734311650 943170852 788386440 716843900 394048558 339479196 930095530 465948002 901583927 526018032 449503491 882202319 378783495 527576472 473182528 675773010 401807329 460808100 959809213 716812948 892176141 333962798 240277494 330228472 282775533 995390495 404303605 567916220 229226683 178654908 518896501 450023034 499568443 507238726 659264238 940352172 657939467 674781017 507555025 620432534 217224880 784302584 315044382 548660635 732386826 564269237 314323701 421706128 108493214 234568029 531612519 627283529 778769845 163833963 241400982 387514786 487769269 789132233 785499613 324171594 236308665 663914326 203645686 800956382 847996123 659114254 815642855 771220795 689580860 327136261 511500216 101705775 364941936 666596047 464398924 367488274 499098762 444543964 894819648 654634151 367583924 361632694 133414969 267332160 930966936 248133605 992600529 753037137 395443730 455797234 112469012 675144862 118776756 189033019 970907020 520136824 992278818 685977871 948962023 322156881 274126327 866663477 490003723 354212400 697641057 423390554 380827706 408850780 746348755 268780770 301222325 418874759 478440865 919670355 588243292 379445129 950492026 696641584 555512242 353110837 328556349 572629687 698874113 260989612 946380373 678352672 257883354 732936226 178797350 323650197 762133245 584861771 862287427 212928069 446059834 678731008 708688224 186251218 933314550 953519520 174845737 384344366 219289584 682116320 245816881 852825317 762278159 674383892 882037630 957717746 685867675 264542813 921804911 508077501 829824948 164871909 745536108 172688223 295374673 464511716 432241358 669371057 396869536 955558823 682157449 402087593 959766617 483174992 669508074 529911323 392648351 762360957 652553662 448991334 311519738 245977175 974935104 224942914 637241123 435169721 371320263 365079205 668508605 740730546 842538919 113846568 970762449 562690875 954649397 748556566 712966094 927492354 970105475 722094281 589185098 905762684 603991840 872086700 117971323 784743229 112424013 507177656 400937907 924590056 423306488 624598620 183769514 169482369 950042679 996308551 307792723 701860778 290814484 612593206 711089980 235258385 811595934 401283064 193969809 413008027 817017362 543039236 233576622 298749172 960498211 922807957 417582134 360988179 381501998 737589654 831769210 418458429 694246131 881134221 340021698 616368415 308586615 786591427 372127806 800579495 458205978 225021067 566362520 841034029 588846638 431976885 161341546 517859017 972106460 450149848 894067757 379603463 975309082 190863755 849653473 224557654 408720089 624199753 117086295 255496242 911952381 586343767 385553532 178099596 359706706 230200719 701708941 270014232 418140714 201470507 320325282 177106898 646907762 377004527 591584846 880163170 660695343 159902398 588704529 655370415 825079002 330752034 826492689 902000605 878740838 537998350 513037509 641559095 911142877 604710565 523980176 523069068 803820400 965003053 683984383 190991310 532966182 602844786 730676431 703130419 335036027 388944832 558920396 788954676 127262662 945611056 103658830 713155233 998887787 312942171 662057824 648277045 110925405 212641336 225746464 890580636 978005272 111684056 562310375 874512676 710865229 502521983 767330242 226619929 267538680 534027433 194426596 201198716 316726529 707470278 195058997 812628704 694877384 380431115 450511899 831737650 874353195 922097188 435407825 308362405 651857113 659734166 540317027 394191003 555183383 195327156 794650524 531510492 595216823 522860956 316966413 801448145 630635369 510582168 674184888 972552491 270335019 396522585 205563383 873409989 754267197 580370908 573914489 603830319 658519888 605246956 646416331 542967089 997394979 681100814 380229038 436627162 319605162 565703445 251640525 435284359 198090749 566204949 645004702 108644858 544830157 795390230 418655365 620495406 206375045 851303884 100259978 704692768 951788784 819013246 843844977 485747844 809907546 538765557 241809288 339223159 608662259 209574931 654012210 349964752 342827262 232189252 212376983 365675847 773578077 834959130 482925464 404671323 291083931 373906660 936164860 298416165 127169753 181300328 747862807 175779101 146889768 297579642 194426330 501272117 424037309 617266877 198774659 217073981 809808894 806112545 578692323 230233162 128417945 895737339 944570348 516826254 862199960 647499222 965558257 201782039 950050856 246153100 846193898 105660856 188765556 683474583 104810556 417249542 919179512 170327082 297726782 833587387 112337748 906392341 170482654 739766021 869856493 885231028 213046172 596362951 215026559 813992142 418902220 487605484 679257539 998520936 271374012 413291667 350842528 794356640 542323839 445378365 315269904 619136236 701039528 425941734 111277065 864460514 399216209 435480576 231897655 348076564 258521139 404059526 132852739 489054424 780605392 412805346 862271785 463004354 761610151 610486828 644836094 355715727 746669428 106618645 596302023 243102621 550008014 319069537 344844194 136927324 590385689 503249839 518226522 564390713 586511134 841272467 651813322 377919881 991642444 764305700 606965283 589740845 631805893 466479200 359094915 740888883 745934763 355507976 823103352 228167339 320200794 316081925 302589589 863017323 849330348 968142199 234068087 493034651 797435435 130314131 482231356 442847522 502669854 353484867 636771681 665233266 564515859 903300265 582011412 867165931 993579483 958431980 162932785 815506334 402467458 566624284 987485811 297196016 668107579 440810348 892177922 468059786 412958870 458125125 650893527 124361735 762152971 618890221 417946905 361673386 561133894 737960183 542963984 899623342 629687751 664979486 907880992 947727720 636155630 797884516 863295404 837829782 820466439 105782017 164980833 636597475 340902235 291661003 365814221 913333574 657088772 954094307 434721126 780351237 437942194 196172477 343700346 874456024 740479290 315871999 525250454 806284611 452690682 548572029 401948973 873589211 502097803 653525503 174218381 169123513 405333334 738397357 668188996 552067929 341060598 396017843 630139403 573931602 863412036 679837326 701372172 225644166 510130268 154392750 463274129 562794264 535705195 572159555 615858189 649410616 265392328 169038881 617662533 390248254 272732043 731656382 489993100 991427758 266660861 162156135 415880953 631582720 553203556 311980880 909136089 412928777 109582775 892393175 627277075 767631623 990950025 680727884 212680912 650186346 143908994 309857885 998965859 516172581 437218420 138541413 352332790 494003930 203514945 844270734 506837558 804704947 998398204 129620325 711515359 363827245 391802364 417583554 185794181 448486876 295543484 736416185 369053127 724811082 564687449 791791287 838882414 588369970 130095866 639691761 265966412 584372580 685829366 774890719 906249567 893244282 599973657 584306748 850315484 213013345 182031717 262585145 805403018 636519678 815960385 569882555 943904853 371684754 143103191 823364453 965040927 487257191 929761911 522681269 949177439 141775796 206974555 998478626 119965869 304618768 402331656 220510771 561764915 461885849 590336924 256254454 293234180 554494205 646941091 202176962 764384618 335463628 948837146 613638193 723957082 700819492 812602314 508104110 808314731 361468735 610517189 837294150 600212853 612776028 778651913 886076809 858909012 276851698 917364229 219820532 607513221 250977600 269585206 125525097 767091955 531809103 508089146 807957145 493815578 817426584 754625525 549921353 129454954 841897430 256896724 647146422 860852829 408230919 349747796 826404047 811282608 603880958 488545328 152129059 694040461 736442376 917241588 985521874 514434815 369751843 140367534 953608461 236371293 797003063 419314664 962462883 434245016 817471501 767766354 517944810 248980170 466574135 800187602 295523976 741616941 541443652 677099914 927851841 730217829 662815446 705618198 873037365 379469807 739196749 332546413 540030027 134957281 732052102 218126123 753286002 959215724 675599458 219937017 691508057 163073291 462355435 438898989 126969226 870956031 454867308 177439622 218907935 229547249 185791221 166876341 794323195 832238923 969617916 608233647 742490918 724197147 989072715 139220846 405600281 762876847 712764253 934604774 336039313 133850014 158864160 749225345 290891904 430790564 269874208 831961458 833129315 863073581 168251919 253427342 505490459 292943095 255709115 551326671 374148876 108709203 211977931 421418667 986506490 120888349 828161121 897523038 541939640 231633738 810471390 960824567 331910714 595993412 462884527 609310982 365048118 176131239 198437403 498957520 666650438 136318062 999531455 694127152 801917754 111556835 778979413 592778661 933742662 391685284 128093589 997963002 515929576 453652392 764718218 214069844 603343180 608838596 399938893 964599945 504368037 174798509 955118960 718456598 965934002 739374149 667201948 121580654 277978339 411194322 516855385 556199130 165820032 755435577 644134028 598063267 466535476 306662091 373451147 781639493 426760336 132717640 310838336 936542979 675530282 508988509 837987450 745488692 292597304 876181477 569752371 966234994 988276375 622212283 311085293 858662120 469112277 716351330 370119742 600730065 789264407 878120027 482158583 630398532 788967396 373538526 750770301 731169896 600943661 330887289 614637521 319026673 381556236 323056584 364677632 464134397 777405957 143807309 727036041 741973875 533623196 576060295 277221135 496245661 982829748 359124913 839006504 959121267 708945214 722036708 894687665 560130884 407176601 837770777 969585384 502442540 709437839 421868934 439654615 722758473 198095879 375515884 721948465 842792218 190071061 799778896 940725183 960751594 626605635 678500991 915890015 576595852 978325386 726023427 574446968 757638691 188812340 451490068 272774940 390611213 601145123 346138616 717312760 733794309 592259456 631824868 314305320 832803320 591120580 786734378 951111623 997655475 334604413 986097541 742942468 372991820 243834135 131573005 907724542 146908863 158737525 960533276 418507032 900718178 681002900 789814262 243218936 868277123 429426572 707481995 477464870 849972593 534091804 303619182 135832557 442522746 162042636 486199000 179430250 412377528 903279719 980618511 481023563 920763443 844898132 252372015 870277087 752428753 561185504 655366880 201107267 456541089 938656345 416399901 546971849 799155850 758237439 599369929 805381919 547394596 780471385 210170980 678361982 287945684 371829043 267981113 856668938 813816418 103359236 603033264 849458158 219058940 584062813 188629825 984798417 792927203 582058652 380115949 348718989 954344524 774937131 161578629 887849985 475906229 310777818 706119178 722007201 800363222 616082656 679250599 295850375 563901735 805578696 196793266 989795889 525137348 117678064 845362554 980277648 537610227 274401634 310233775 645956388 268649650 218102035 428721033 581795206 302106989 162508209 319848526 943247279 322935335 136332804 546668238 336489101 729325877 933820698 320558913 453512869 774708031 895957269 757747059 695485395 206222936 395254549 252267912 108491776 266660442 974594673 679905808 787575927 397348856 421623608 848774347 301977681 286081929 433771818 615990466 506165921 896359315 712850752 904552368 490254850 826464049 682506444 744508282 571086731 456869518 820329616 839380290 217050156 891855042 264227697 890583788 477742362 255793728 494804665 934309470 766463378 597521035 447941309 884414559 791266133 659095849 115922085 898654981 989432850 975357194 827286944 883366022 135762755 502436156 928554867 729532002 653208613 939562835 645923608 669219639 488540637 701198159 730230216 336905677 220009071 719865802 402391980 856102679 283012235 307296706 130555654 827686744 345698024 400012335 578679804 763198393 554460471 215805482 608321022 973514436 651997947 226445717 850244167 378480505 822777134 406176215 168466943 847118574 882813196 543640368 189265862 824510012 551708756 320549605 193352515 623761829 840862986 822117729 270950484 209611251 223006690 906104203 742463879 896876708 464322350 808014513 646969154 606298503 118320974 163611913 142092685 508605240 412705516 159613167 247715375 870737345 172247809 675687924 672783537 181031044 221518357 684048372 461369224 457301290 323019827 390330810 615429147 366742756 531013670 971474547 736442797 154882742 301640963 704945744 807582151 852766358 785905235 597224234 715396257 475479237 471083377 105013658 518157545 306658564 208054319 286200210 565570641 576525450 587870070 857287724 431198425 470304919 643856635 698728833 213502224 332565348 284662822 573463807 657503038 885086480 986243060 137167395 680362907 828772622 344233134 644788369 324996529 368076813 450191657 569722789 164349336 442268277 785036283 151905672 622276247 896666560 964578605 271178520 610980405 313956993 726443361 432808964 492388948 349150717 389290271 178888734 650299075 883121255 259853963 806054202 716789538 370687312 421770726 242779749 698178548 602565533 900911163 711055189 453664911 606081702 957591488 210079740 539178320 836341541 803298189 573753430 141701812 270884368 530203317 673772122 376460677 684644624 818068057 898064371 849162555 822281513 359909507 886379295 121977247 235247046 690386792 608447667 845242709 640657619 715787582 355406710 899006685 259979717 451374864 992096681 833031681 712347608 424350659 693183227 509152414 973148548 758666663 557985658 224846056 880465439 415611843 861166212 130598905 559882683 809801433 257761589 660763069 114924554 613322617 926436965 528773715 647585799 150488807 501920414 825357304 606287795 566760201 653355951 832550913 727983965 679309244 316381480 238619455 820666603 549564148 108944809 596445869 539427640 551809861 519763473 158773179 868533900 439119955 770461892 327350446 239117605 984651876 781457139 670214343 599301617 382109053 708078855 391030839 184052632 798858584 873992415 329024163 136499170 464783095 378875482 109257187 907883649 881353465 194290157 326704210 365653761 191303697 339107791 850166251 518553150 810826260 222837680 582845576 777087845 306027025 882849553 989076702 490009037 459868419 484199551 140898926 450875885 831031628 942733514 341288999 752391374 632756648 260615148 527081257 321421877 834987465 947318831 524973029 719379067 693842115 757262234 869049953 292986160 295647332 301356666 476165932 718313152 795048607 883182138 597139915 432022814 580654377 859574345 947517746 325551165 701351141 473520971 748388773 464739457 344292552 358615738 573039094 592529097 414529649 624304755 997016266 167945368 695696705 463441283 926469682 367983503 925834652 764710394 162981630 339426470 732473348 765660883 257567299 375676895 668876062 206429078 217180340 615909186 630018639 665333575 241623806 112690402 218011053 905642990 117373310 985072671 118046640 903187503 130814312 120991215 204744680 943640686 903801267 909039553 949884055 366619749 225963854 756607127 349003693 112145528 532847071 210488011 652031049 686739472 898092977 746965912 675032488 596607241 237786405 219266595 753607574 197308113 958178499 797540240 937021896 328261260 647992874 412668743 175575411 304029707 208266154 282026209 870062515 305770744 434759717 485409747 672421291 526569282 883738851 615368406 374102106 856697258 225341162 182966861 269205100 555284378 608564631 408414471 997130619 264484008 380495373 122303674 370491085 326734403 659000830 558943907 108694335 119652354 388444630 320819497 942324480 605052170 371528936 954037243 911411270 238172261 643171326 832309291 377099061 282427162 471890328 115456203 238473617 598119200 578393853 740344399 523494950 771135652 944751599 627312912 427071918 694417852 539934344 196591619 805659394 741132631 918913407 915836582 439842076 677201647 857009538 600823480 919990262 691687521 303792741 125521030 528045172 263550492 447084342 858439983 413214768 437643698 951088997 900143746 750422286 745773726 672779352 619133882 237012575 951488588 672536295 236578832 880791842 756253277 928864871 593316541 117844608 138583509 620370507 366535648 165705287 101876609 904243448 939466753 968967761 861227086 399674243 368548696 950302037 301331478 988844292 413836421 251898009 538224909 506884644 272661450 263903183 148861250 667953862 712085893 366674679 643981189 986834562 603245398 885763099 681412961 241654059 367084715 413023299 259863592 465437015 790621314 342229314 632874803 332249553 779324361 252168963 518544764 263570054 850382479 521936130 946244087 886611029 862908002 863393350 988956721 548877860 536550077 303864095 228902256 958348091 663382106 930003327 216671832 562766019 601031680 844412973 502710757 383871661 141765903 676821883 961066707 464657560 448691419 134665632 594867357 582481925 210513523 572902478 694481811 994787855 803403788 924389626 280704015 304302289 293033824 173915745 141685630 781149953 985811750 149898553 932851940 449538714 506343456 636837917 185875456 661754482 999410687 342583147 859160188 184885705 490007806 301637419 541432784 545482629 417192831 986588366 868324813 493001430 442639913 280708451 760598476 226987141 233698055 411730749 422651202 172565096 608561249 547893964 212745463 484435194 189077587 625909687 324494834 159109031 199334471 460402760 458469160 660289282 801676980 355586381 411726968 732941184 328549399 980261235 477985817 654379106 833542689 534484511 287159751 590109431 411721032 849527311 424673440 910932668 245239513 916795247 190361250 236210787 951744411 991467070 618910102 251571678 484818864 821369893 196848899 548629114 660716922 468292813 632187171 742030622 277030891 970561898 585744149 920706461 374949521 454333102 964630667 181457580 753468316 241469444 993882454 829779338 864476102 793672160 303192933 366001466 611246240 769025552 686337531 469327989 577814500 260994441 857213590 252674084 654246666 173197468 737570878 198527193 404404753 396295778 290254379 483931547 239356694 988325078 242473325 494247522 361828498 207560603 817697834 533966018 910777701 386686157 637692418 586912621 186582823 859893087 252904853 220673765 455725581 828153483 899252926 198379828 878196469 907639662 409880892 274891011 873506866 583186129 808885932 170714957 845347720 316508157 109468524 692534614 349836812 258542785 875776506 351378646 743574411 340916250 680537539 352376184 705344551 902528952 992027374 539409725 350912595 254994366 585570406 711712069 496911135 749334641 467361692 438173974 581568586 109187346 856721934 827811977 683126461 287061703 859013618 622994372 592446959 227458032 535429140 145902546 943402046 250461592 410841722 624286225 419170236 599982728 341884425 423789581 551710290 634572657 623938448 964459632 551645698 192953792 873528959 985116647 515289440 179601293 539353815 408025776 199587650 796352925 842832540 709967685 469202244 781250838 919573334 636005122 171891270 142800848 761526547 948942672 367400465 420756525 398477209 913934122 937697559 127264674 429183664 556936475 394510851 435780140 662038328 228746555 553232748 798856238 180750361 744905462 681113110 916761505 720291059 951050797 655013457 301698452 391437377 923997670 633672863 596144675 904289848 784238416 225831634 183720389 313886813 953205893 443725499 998154865 396837531 550655298 819639188 607386563 141704386 743253897 475308147 872928458 278696359 505696065 882247361 251806000 942033698 492851430 496061418 757104323 660379383 191792174 218947983 951816494 577726666 629532339 294535260 458545413 837321234 489727363 942751048 780444489 495104362 369571772 103178343 489268369 162586413 386993446 629432098 799999883 710915017 855945150 196864049 563078884 830068646 724594382 453561744 684177054 958758587 139655708 125436739 363161773 550927304 984229503 571156954 275535372 882409679 983174759 390143141 242520954 999636460 167071508 707668685 803804612 932333945 515211899 667000654 985348753 581846889 969562603 305256070 219106914 916120893 513335995 158573050 127298294 419642215 344020024 793121853 672951124 985117496 978012549 332037911 889282359 874713377 182126647 238035266 751534910 701229311 582464969 663975879 911172249 561272966 119389727 301487763 675614428 957077937 792525907 231636104 368846153 699347605 682764242 978559900 838803514 601124617 280688683 703736759 391828176 443746721 507996664 265325531 678924836 111423940 458526199 811111194 236295773 522524279 261527674 608737240 422786945 752772308 404337249 132882302 412953867 597069114 312437948 288052680 299879989 680442709 573334654 819994766 119815203 994739409 229410263 242532308 586597953 946747994 304464952 412634548 900341781 315940004 150347260 660918115 276031267 370126225 130955487 831534526 675085556 207467609 671323231 847629097 836760675 639136645 318439287 139652498 497828913 749566902 251534281 566955308 400342699 496886906 847171102 768592345 599588146 865998386 565577222 262011631 914650971 900312317 453298654 430492940 927933066 357087936 630366677 682484883 524672988 209022804 897721688 804894387 528795033 260930247 135166752 840964865 387027573 406069694 637179381 749977944 493009871 152432149 314966177 214095206 580683182 327380207 231462759 689229388 821126224 275097299 140618245 215169170 451208928 545882115 827444623 376103273 275898045 106553216 884471047 964543760 618043100 822090159 286873892 194572437 336733694 482569001 412931981 616749254 124373544 332351960 946997754 482514801 654414531 107352277 915091195 168988638 168299520 594058416 560156289 879015865 945889557 946955648 209032426 895631652 915658341 257329593 591642100 847559912 409784202 521991235 889312123 633425335 863999171 236693215 648989894 153324078 817932208 142504233 350301236 857664492 369310655 582901682 716428570 898909977 876909572 503626337 645639728 555924180 497019647 666835542 801587688 821208977 631303183 964711954 981367875 813176675 628871637 384879058 629830548 643420504 140176780 944795597 275919491 232847167 956243041 263341506 413940361 243633068 962213186 839796538 515785625 263195725 780649425 720667090 179322355 262481275 196542462 462012531 397072507 607326428 933026933 731501654 666511496 757631104 136589288 990706021 640774424 913608324 441458454 452362673 138577135 875755091 886360636 973527880 885404534 699994996 658849780 527467731 383483252 279596559 144899010 639143094 601089291 393203000 107446506 588824195 993406652 844167317 679828480 407122503 189987755 697354703 916862019 283253360 226796697 638354788 303084523 612626690 694256083 216682429 252597430 513918035 749972278 970726639 288128503 760385140 545495987 488442015 175546138 194846093 850798173 936011739 693445293 525524187 590703557 359417183 571195203 236564612 183452050 170792863 658933390 394169884 995860795 762512248 826955053 682348560 533870753 149131083 343871039 974110626 211732257 275517615 844522764 879915654 556777900 578985125 261655621 932301734 230550388 791525319 419490779 204097100 113660518 564648422 101045632 783062600 601806616 309822005 684024079 689326575 200281739 279766441 254332686 448036982 820052064 186397741 260786121 188724313 598633728 399479475 448907947 248054463 446645059 174985120 758716645 948465550 650171195 863428136 555876146 846706258 237261909 766745077 236809455 974630092 959849942 496024806 791641057 248567060 337556988 327837712 281663467 124981899 814713513 472827266 176622042 694706631 443126445 647855717 859258884 626237119 689045254 286170917 723033220 831158907 332381177 838791914 609439268 354230087 467301917 532857132 302222000 581601393 465252519 550699576 790747135 536869843 233029260 745964038 552175715 529927070 361119099 782200378 460671844 848273988 719208676 594381874 514673828 126218660 251533346 171225359 445221648 820689469 828966936 295590151 158997540 181939863 199049033 658892488 767708482 954187305 137522160 571623738 796889066 286737029 333869226 973346920 675863995 207625159 440661446 947216817 689442261 607328416 191972935 743621370 797407273 982928646 402409449 493360254 552994576 989185053 466106099 293895519 158732150 192409646 315153917 646361673 333203679 685902006 580315470 171173165 632190445 575241186 864922711 410793163 775013339 773618053 943746467 718683340 201461315 762201167 722166723 209897866 241059020 360510856 330338761 694332932 300800802 277114054 477153977 999274280 936197854 652778266 118862133 883979572 219916452 845431099 458359806 860690080 862439661 377149736 369341510 258076338 894151516 473296920 576841012 592392706 573255181 800426530 942073698 947967251 528186499 566707094 649151821 925190475 760932234 773913278 309295461 991666044 129327059 192797081 278697377 263870944 118558833 766224417 487360818 903563962 851513271 794574957 766579176 972860137 942257496 931955133 639990942 309635527 645201879 762264866 405194960 824274490 580192343 397707345 702387269 858019875 240667310 335419838 468331478 860662523 529130155 268614686 487008161 227196857 239193827 806996265 733337819 372114987 483120731 338857869 447066321 206279654 785924191 336399934 841584348 242041354 131247573 487614396 388771011 135339322 877127000 947900210 889723926 737330414 769910518 549737580 845646697 343607897 651542963 843409801 582353086 796168130 993530817 151571187 507808913 170919961 607071582 873973723 506714746 643508397 181156518 350696021 260339016 466846248 507063108 102650947 206359207 620498955 939018246 703065026 186686157 575942419 135751355 183173031 149606526 659005818 902418675 202082166 320375942 501487366 128355089 864078394 296271002 773043582 473837697 154590532 471915802 831220534 867868255 443487636 454205488 490745096 429620007 379789127 897399532 677019409 414866576 676952286 109423209 284627922 500377373 502179578 178162517 714980160 192098161 463370815 896318186 534836583 517282723 347170247 399778698 330392991 840218181 268587111 350277678 502844579 163791540 316519870 867420448 883123761 934704251 942488244 359884292 261364177 818033625 613521312 328074669 460862579 507754321 543949760 977778137 205818995 866443258 378950988 914627557 952596092 757848164 808211455 475878364 795028730 391401491 253184222 464534685 995923441 360273243 864597593 342915783 864214226 279654670 693127110 617598080 166250467 270813103 819260099 583465617 175824863 241141019 958584078 240383773 271043815 548342144 458808128 637155957 568395440 759798415 539206936 825616006 630952074 456149966 324371827 440620730 615852922 807826240 616685341 850690930 597956701 111632006 266230671 131612231 758538675 561696587 273037731 741888734 755329050 960292475 607642262 976377822 783531630 948910526 923184134 949760462 422336969 564930206 556718320 182818228 346614820 805934245 388795684 656179645 808083270 241707268 944584606 181302918 482770745 386848582 949240230 724770320 339841851 992239611 671965044 131552484 929700473 391279464 770140337 522235099 239921640 134638374 449936653 567865050 566406440 346613826 619229676 249836093 728252256 639248128 825149382 805186064 243562328 516322859 356272672 215861553 181828356 989818666 338215738 120631544 319255276 883436854 527391457 354448741 404677285 891825116 104328011 937071649 900706429 920261809 670922274 991981773 378690214 547048963 332035055 145006242 215870430 947107609 720577233 959545487 945329090 706418743 447858425 463017215 797245745 726795818 672922300 291768072 914737836 142454157 379454441 405038242 453847006 144313298 585043003 996106740 427256998 297736419 218062452 534900673 325638069 740788725 728876040 294425876 422460908 248460140 404326619 473696577 667338629 796901501 962840258 921305108 779220993 115960264 730645633 972183064 831832376 770577978 150177572 318400126 261933883 422807889 523387949 650532613 866350726 413177666 218064387 599255715 931190206 413792132 802210926 289502755 390601652 710012269 741205426 289192131 151113813 119309482 902552469 935273465 666033157 764117578 977198667 551948941 663014838 192968271 613167111 174162397 481219820 482163495 292116332 483414282 723936727 188785055 838513656 755057988 387842215 214849304 591846326 582023315 273306404 642532335 537883495 409024313 701356471 311018856 482013698 260384322 136182728 934680688 245451013 517229677 616226671 525399693 862765699 777338197 324256646 998391639 672558207 519059457 749988931 350568242 910110714 184634144 465185304 363478490 690601093 938862779 747690858 144666392 272270959 981699735 998250803 573048480 624402307 557795786 560204394 661625758 368594921 721380979 791263685 843739577 815655666 439047688 971016553 281791046 133117890 641832950 965549020 764225255 790400868 993387150 947012560 941812122 338077887 561800671 500612705 483173974 263936093 194462887 887085066 623911679 248715033 960114590 671998237 440725632 736243692 410216336 984640150 509434409 185659786 816052779 545882677 385277683 784504546 558360336 719973290 135927501 417755124 595983454 107516463 766129562 514361792 170511159 970845832 302193792 335861547 129523098 732396309 283258676 804472206 247592777 637453702 758189745 716172943 392543522 738826284 832548178 563177804 691971005 201339839 290227756 815195419 849170658 642024296 908612490 170429672 514637799 280870885 149002542 747412375 916516092 546993789 423044911 902373921 264422434 701449205 171810635 367629670 659805239 831849915 840467517 247310126 499380664 851467315 414984419 765785469 260265143 731145535 920852795 214505949 335117968 487597077 809826798 373511137 556878581 244852429 117847357 574657823 112462910 247799804 428851740 755070864 301335587 515815799 334133253 465246818 372394068 113918262 763872492 820803023 905756706 330430607 691266060 128450305 191982892 363983751 151390901 385514264 871664743 195450733 901584933 732412663 963397518 952967905 910275157 336791790 169775081 830276552 236863592 246910618 791584238 911514247 672545814 938860781 220909765 347968038 181845805 458520233 838092969 551179001 887084489 851502154 109632161 916002782 268337927 686659942 133283311 669967790 536241324 405680985 191599580 522353937 195101016 923367433 884549125 249308112 382717601 882449988 273670012 946825236 178117176 723859897 628842330 465758895 512212571 643667832 743540081 702698630 247209386 871992869 745012722 165635688 789282928 146868919 454837435 777724907 244956963 884564770 819511477 608698937 715066684 391577211 533830873 212447930 612342984 441629923 611774602 241903845 639343559 972416918 154015147 192043949 823455187 942123035 406221945 284976836 483242416 108112114 821249098 489406503 911691525 568072882 677207578 342642130 262441787 320535787 897652411 671668405 318670387 392663417 789412037 154034666 487654258 193587395 651607312 592344325 219208968 171006227 621829781 997476735 872008905 801428644 648973206 178575565 349896348 953034673 576346781 952668501 622815054 447357225 427394633 626054247 841464809 410088427 388387495 414231460 971936721 552815677 583182460 403311056 881759717 944921915 786398370 773903567 252806644 381684470 429747650 122045824 867426819 328556971 202100104 665352485 121524451 449771271 276372640 551645545 736813551 397281724 770067140 218619348 690432935 882236485 653448380 421793824 281961106 399812428 281957234 900063228 623944915 400543159 838299565 858653157 358704322 865050576 994492501 523600441 589828820 228503564 757371582 337727261 764783217 323468221 259845124 184870606 725763432 319124144 742585343 882306839 367277090 227839162 124824336 779963585 638906737 948051320 499314819 693116897 978190594 190325591 485969837 412567664 755927319 269084563 531785058 246000359 774740998 111584198 234981461 134372637 788915288 378340338 995545012 829637845 719515932 804152611 983269146 499503773 444758674 934529032 618705466 277514685 932958995 240413718 347193892 934105364 164358826 789571594 705410861 270541024 618043669 602207792 998662996 882068409 786275346 150374580 216117932 506599589 443726659 106159795 925242559 235808333 373724528 631749229 646180790 133729383 295472241 864038637 508126377 782819000 142559143 949211345 250252846 571093317 164469963 791696355 505948928 410181655 896236507 822161925 612716448 283738009 527097045 902275190 138176926 985134101 835715594 475621258 320191519 763355964 332391432 944847731 395503138 237012475 740728498 542836677 215754339 739405384 343681253 562682524 591512017 237149472 650310598 465577092 757312810 626023531 301860450 343002734 740446118 186405086 961211049 544634660 571968847 242230820 870828260 361235836 559895336 696444033 480886189 703741752 880587491 827539061 697901709 185342056 432218328 192809544 303020985 694619677 800926526 361367839 619905685 434688869 561091078 490462537 825603613 881498331 173709620 361464082 734950968 218859423 842797933 267924247 396076294 112342967 884784973 613587882 997093837 962318282 464178118 321069390 620309644 593749262 251391508 388686722 115959050 509444466 857600986 296187469 130115999 950099411 413854359 668699724 592253197 377871733 255938715 358600013 155887963 419796138 349523962 197301779 516893980 431616590 885563717 627850187 355462159 251236371 918614620 707950141 697633233 928658863 669610500 558682514 725214696 937102758 180035377 656512853 635839053 240899772 245081386 811926454 670799563 618756941 538343840 958613140 121022034 572966939 131954566 251862202 567421502 342051626 490992625 545495017 311116305 366023478 694305398 482084854 947618595 568560490 783540642 275253122 144311726 478050411 512571680 455242739 684652089 467601065 510877426 767111912 576015807 191579173 226378395 966288376 920846167 636720029 984253844 758466904 547384085 302914634 441861680 939903220 562810436 299699647 780878631 663963062 417224620 762753707 206300540 362023744 944407280 575775426 383286872 934322149 503428637 583701778 205313787 926118262 572140772 736371943 676968508 858992602 138390712 794441293 389483345 961717339 473411784 322367682 481255616 868869555 293810253 223248075 239418305 571933236 497384271 174627360 903622191 156792442 515292839 473887561 117862455 291762030 847730721 393496564 352859697 448760995 497849984 413816349 804608035 148859376 421805664 204013024 933102403 684664468 343075540 888120384 693518435 557189886 911886440 509201746 400662721 412515846 197222161 610469374 232728742 702832037 682610194 954328428 705246270 572317545 179324516 644159103 509725653 116229056 342540143 545319778 566916621 497511340 941896433 531133343 988375124 340200239 626045823 739918706 339794595 774704818 385360087 982738646 315567792 207352860 440183826 240233223 411960722 685176467 578118212 136744757 368296871 873815826 164845695 655402596 924742809 707633481 545600696 747033853 940486055 929547289 216767646 533669039 124703070 382561692 572830814 436812803 725910787 510050327 761694526 107110190 447108654 426836794 435893027 195369896 379808283 518436309 659670011 218706506 129872732 530801144 628358848 547274013 572270733 866468845 132959940 731283828 867120192 569070036 279223929 656616724 192943001 360527452 237596277 842583976 194852481 352211608 308254582 489282003 345553841 272245273 664003797 666944488 193006900 138597487 118606118 117753250 288516201 731582658 836306040 796627262 132484164 356076845 989532312 777724590 950796736 755868954 101392868 866269871 546434276 161157523 214171224 581828343 128380871 140186079 400009054 802676338 749170289 405227814 158190740 668700168 441011045 554723843 977618629 899999143 363116312 911164737 925266951 785084395 720176107 404748883 315936950 784399269 955226670 907908568 949325420 977244821 858051808 893335602 490235329 400726193 311163801 569232415 742723414 858515871 800337145 941497389 778721218 108666282 389581368 878951517 316983022 310176768 576210333 450989327 306922492 683716328 512762835 249451303 880960053 714259246 138355833 990177250 690231822 337074114 151642243 362741935 955944007 856920004 282602538 807604298 270681545 297951159 359700188 699179175 922944174 699830528 451146543 412784929 821674231 849459282 893182004 870032553 802543206 677099105 127303534 713985841 388344950 779860484 913119068 726396235 380771323 911446994 372062168 813642463 315902428 129862134 465235483 359475841 775701932 405097892 679759476 473202694 657552347 418227154 988231465 719702160 127398826 937562430 353627158 741533937 401940599 605102675 498476769 569831933 142768706 315683993 201038332 424237228 601925398 720326471 223637706 205944391 242826035 941732576 943920976 939479300 711665263 648212259 922057959 344593735 798102341 164838468 367275458 753887576 642681364 629877072 486827469 452466601 758043751 581103627 311454740 548624381 844545477 656382344 245747186 407287671 646986987 765535163 471378879 920953175 607189160 982253597 740953755 969731167 867858624 907219695 881178019 720736579 882044011 459492803 133959282 909759576 907044897 358955448 411579800 363710044 814225823 434468252 205176413 246944443 879021335 420378010 591985964 402919296 126841834 495298003 341256409 754049019 611777749 314544340 848653735 870517515 885733204 800521836 165459536 610591994 211278455 662416566 954770224 425145680 591069391 429060583 750084084 646987101 301032598 579532325 694006612 410003613 964817140 925164195 595965318 234877466 504384993 548749661 894058784 364721848 132873294 900910810 779765246 371271938 994695543 807924120 108766089 603829609 921293550 774641507 369234665 497230542 664771805 346972504 726281698 220852875 604033761 822110527 847679979 390919083 264351581 742334405 652039380 529635251 924866774 778977729 391785060 574101154 512764135 296221065 652897641 876303191 220377078 317344211 674987774 743747030 746081219 344994740 429490422 857251422 321751261 434752553 758691424 186755996 234602903 841397388 239442426 548131116 618828944 212810717 287901022 146455384 448496168 401937279 382392257 318097905 934662133 438384916 613730738 228997081 853219164 732138574 535831878 489535174 736786518 516811619 620889137 549580358 300260355 972293097 979249505 364205634 332948914 346236020 741401664 259881228 375920677 567224317 258121932 876495504 374750071 545064613 182178362 293425557 180955311 995347216 517932509 448285737 747404117 750873442 941273161 821727174 857251420 435997262 304938422 163729097 837009990 757414364 346201638 768054765 431315693 746610463 544171369 501981149 601783978 781849125 948031621 921393812 923387734 455925843 139598504 341812866 448255041 996279655 790663052 213490670 430436449 988428947 279187524 463908795 441259922 150905924 515000776 443608583 530286292 103699193 467815227 539011691 916110946 491158976 977202434 517014104 722253361 555265895 144030705 491817232 264036022 204626498 203375799 940835799 977438211 940912572 187678414 162429312 654357972 991632546 622722594 711815392 545399311 428111576 664409162 825432642 355728184 307632364 950405135 153643174 124524551 361274981 973551557 545431845 109234197 433023112 392678520 846828990 597889972 578417714 642206850 159282623 613318531 490092433 914265389 600646787 184884442 152438656 854681490 540978796 709814727 528679256 599705896 239341373 382848256 633007683 295698659 169367130 657571676 742154466 175026050 155866001 723114567 941771522 825517942 891784117 385925644 135223775 363819070 508049335 968029574 946844074 407368454 814578234 878391792 724986492 752568921 415887144 179054709 167337882 891805827 179308109 675226927 886615028 519385140 288891527 606255007 333552960 726923615 557337384 352745144 759691080 387980339 400529815 205593243 761743738 529664415 950754475 628780021 834573019 258781285 449953921 568514800 518626329 383896040 321878612 947546577 812798230 374499494 390168296 897629717 562841766 602643002 476078467 734151325 377572449 366392791 875557717 941792721 359970292 291367425 760131852 271732606 206001122 984763368 747081650 472391966 192283891 358840105 235300702 759858245 331429470 812052742 612263415 789655103 665645956 778380811 554399043 271906294 247356696 254391415 636102189 489031280 877206782 368451298 426143479 639410804 765220644 990658527 449105723 794111368 569589458 396404877 825002762 362447426 250324994 328744564 761140344 985041939 655716213 236392490 562464752 864701599 828091688 105755059 956263872 546371082 414590072 500577183 807551486 537105897 890823932 234275733 678149971 882209908 572772154 151549117 238730459 106198813 545533361 480616437 272783543 756451703 489067940 535196386 980670736 598078117 292583485 220913955 536762566 882992389 333434563 246230265 101136288 883547546 234914075 775437769 727049731 248086951 186529954 988683372 424918489 449495063 117814447 827765403 761481509 603126342 515614850 816381220 319342591 581275717 272699067 538887438 643513580 698502580 863044019 646484029 594909226 321939529 180445084 783443936 360846404 334230734 804482759 232623790 663306774 755824152 759099386 245261877 964067599 842508765 917768296 488277402 543606237 998577405 444541534 449472548 748588806 556129078 752979266 176726613 207344839 589853631 162020725 564448819 433094295 486607771 868439528 456409975 498953736 908400260 171158445 923200541 767971320 680018837 885866670 341012591 887510868 183824671 972786537 472952338 532813588 746358276 985898988 276771963 834967185 247043803 723335890 990276768 708740918 339709674 811860498 962884900 840013471 939018161 607339856 361644258 686260719 553393809 598790790 795018992 607856438 181744563 142007599 613780693 574156599 811502443 912321438 461897626 515808111 778404531 635215334 447751803 860513206 490353726 723243985 134662693 382050715 759085727 464857861 576112928 799149843 996060008 289253961 777747025 404493856 350618181 832684012 910708568 757302283 548998784 424671484 227939401 813496589 806192956 340177645 357444081 960417658 479944711 268836346 425528689 923244938 566470389 318174939 277635613 984119389 633643018 289831480 338961051 876233957 758330949 856577057 961890397 753222876 208598096 106170514 871768844 576237559 970446515 932199360 596182302 394128267 578503082 477197857 224836686 349503291 337338057 264116774 418303221 967365887 639209754 968044354 615627850 265842664 424234023 986282908 441522284 236768362 668450777 824816253 305726248 324042968 873533186 425318313 893035360 381509940 937629796 333940769 526583106 822911243 283376555 304421838 871578074 447344410 595043867 594179182 641870429 275403048 897793301 485483899 371534887 631846564 821870277 456857187 592693722 795310774 899073279 186002131 833849140 166684491 650058540 503533989 619175975 477532616 341874252 834085954 261703915 641726460 808912266 717585064 493918330 283921152 292274642 613066807 880484263 236942037 573677340 659431666 813410102 273263305 944929463 566565366 675629290 948587929 770899464 586444483 213583337 271733887 723381355 718985814 755941400 344215870 595216553 461479889 106415437 930316110 569402425 394909407 411440068 154072585 403195567 349036173 766767687 287141954 593601247 870524222 698722810 680302947 378503955 364753265 529431864 959758062 646872773 613244564 691432685 517730242 499854766 864612155 417963435 595760860 177138320 936476519 898571294 763263356 305566721 561777818 744416397 157938233 723066626 157979725 670126639 342539716 458781187 538935012 229199018 664019582 901689775 408785762 832567578 871708471 248596944 320243896 838502330 377052478 436345876 469533279 944680537 628983369 382307268 671524799 512635939 293373686 856393955 355290498 600376380 147966765 669507727 712125345 768872098 873615785 219072839 664407484 455746328 812246247 367576239 831362197 478299699 866748969 953019492 731496574 262104698 454158840 273192098 811973778 694530216 817212088 757195920 716661414 719050857 773378502 552736041 958204171 289764896 159344577 649834329 366588640 207533307 551002558 223224626 878105655 721886872 566709443 944011486 215577857 305502474 995050562 474620139 225234600 966576270 993092909 542084263 440314247 306877000 574821773 913294147 951462247 105116550 170824888 627852044 886636108 813315256 918186051 561454774 118060273 155016427 869446602 887860044 328975437 937236273 723040213 370406605 888864619 253043843 334403734 473382659 670099831 135083173 626061059 638084111 771937941 308074925 634482274 188158325 448977080 130085756 488250647 245944054 872504702 402743634 461924865 930215483 952369099 600266393 774575540 696839528 232308233 521348357 807709561 295092331 451657501 671119849 288630895 628527853 753454558 668673921 601949423 549385345 864314095 346027197 416790375 630277766 493314645 424611309 782704893 280781552 606209742 873213127 799811444 131469179 443421606 419015019 630739971 715280081 183498376 155574128 270056330 394135260 801165663 580166357 823198788 150342438 603466386 424496380 934592107 193133464 260375540 105005441 634616903 890103472 556537477 317185208 892506803 753179957 372639710 363158977 887622295 802333917 325239064 834710968 934076228 790701337 610803829 728025905 148412761 311426995 472193390 476756081 213482488 735175058 727253005 197491248 474647335 689893706 326662243 790554792 425431783 203524913 542766335 222799601 974561250 317694278 565046652 253971363 187520196 745204297 116423044 229636083 771268978 375521605 847410265 428584260 100659119 591254725 783045297 283373307 199720941 667651858 818823551 806274839 778384648 591689392 871649675 693978013 262896951 812039099 338546255 502287085 785597178 500433856 762775521 735510498 473732163 625688679 806464141 666583142 160778546 967636826 741178346 131529454 233241215 985502586 752774459 537090643 414560879 696825933 278394808 634362058 162596467 499466123 174386097 247000331 155531779 168839831 755047553 111989905 673529426 473751184 877838223 354178628 732275271 338204538 700812919 759352413 740455041 955649978 808129582 999947836 558203113 712227259 569628682 348112791 441910973 538263870 756556164 787275986 891474895 796488051 753855122 624654664 449758702 822408213 501038486 330252021 260700367 294271567 921971178 460039107 827958493 516553056 373715064 241626130 407242508 754910702 890319846 753902954 934257954 866053635 682263074 935526528 912083799 584872136 937678261 168764266 570836695 961790517 531430247 467519739 182503659 679603110 687638008 524777988 310642546 564195800 911771737 580485294 179072112 534482725 776855438 870521652 210137331 792658329 911216176 908240370 891912063 546554517 582960071 293027408 745126142 952660964 228897774 845697895 796757570 709752745 295678147 291901080 259332074 398568789 258622990 476529278 766710248 369323180 897271689 773789298 962616773 442527759 971653386 387263293 917571261 407937378 812964738 541780392 344016570 575716505 556090611 334488190 851527179 711947881 696210003 688105568 689055228 362864823 279497590 918447540 227976389 194788805 819228194 893143914 286106648 245913764 604445766 474110645 556741604 314978621 339531693 219892141 623180467 936049566 985172898 882286920 118716651 968860918 412792835 376534824 657481592 425313283 601551510 604776663 984711164 462589205 452560380 826382145 355108606 541531640 232086877 100483815 160149356 121781328 435678351 568065955 545758427 852679474 316762540 947916037 465490238 669770490 339339955 452064406 663967225 983111804 343227886 769104149 259777944 379642501 533965826 676271984 240782780 226809104 708670299 622783150 506819332 324528530 567817017 678269743 400244425 977965656 421134739 842883717 101158167 368151309 501558372 399531636 538238841 937177481 751501239 857979287 825989919 254065603 807171475 416236887 248800029 585309500 731426084 184315667 708091907 110177447 508915745 499358217 350806548 757740826 193464843 989430610 863057481 773058454 549591931 233421084 489760875 478493886 238412330 193432725 775473364 820666746 448106899 939604261 158165307 761378507 807526185 366333030 777105139 155220634 852029563 497697327 507100041 245399237 106065258 717945005 285815397 679624538 917165323 255878970 919106436 109108820 581942887 909731637 835096020 496972601 129795406 702173549 256822153 997506522 871478344 561198982 943276266 363055431 543952429 366093080 749406619 536011077 634121694 667172292 164399038 462160824 198503104 673323669 497077595 453362681 703260912 709146904 185606724 511933929 950122027 466576284 468994077 635854798 994912008 716030712 873116719 115403908 688739550 886922418 810806139 808938815 882650619 651611974 138761073 757634364 680554679 172148670 214176941 489381034 403847993 998619010 420063926 719460804 569894954 157933406 375687670 573170873 427746123 661894137 690488522 724522854 319417508 726943946 650258368 580050266 525154743 875673965 747892770 349870321 505383513 811860305 428551132 950031926 595163703 422074353 233026662 655331568 265530691 296443898 921501099 469715665 840227711 382978471 774204022 593743576 581595552 422390949 518804697 748629200 865829405 112069018 103047840 339612223 921352238 225553914 849322361 283068903 353161038 682054322 702517479 706987185 170645390 271465051 908823642 200225199 820610809 325903487 628985656 199447187 780178144 779119725 229029014 109776234 886672151 771876070 272749458 280842942 848271795 845815404 537298133 170360249 751686026 953565042 216075000 194612551 873851813 970167998 987907748 369239588 518167588 897959126 381598975 992775458 163259879 812567097 121402086 902408495 186188766 741676669 546387909 468626074 815440805 601205872 777228597 720239762 352020424 599234180 259368490 754726677 126087841 308075496 776627546 894468712 516470038 456154366 513146823 939886956 138272248 383932589 247563652 878499004 890452642 654025672 939273912 272865586 305630047 599138055 748625161 357738315 713292801 403931266 925170985 679416325 872448028 982452310 460047367 705087532 443034207 553950142 375806202 448392341 578008299 820663974 676355833 123796637 725036102 209818933 472915057 565437767 679341117 759031571 113974886 648143309 982709077 149726815 597019042 396521738 545543413 997811402 985351010 524381614 620324168 644576208 320997943 140133014 663977482 448667980 205487115 387183972 641335683 712016067 308218351 852291819 881139467 497160324 274427606 111939107 819669395 892640265 720465583 178089807 874420251 108312909 469016299 394327929 319584683 837554109 777654188 620414154 917882155 447731193 838243070 661179116 933858870 440968449 905952793 513083001 948743710 830655355 566845258 281779483 709536197 183484895 431324553 269337354 693611905 218131579 262375949 112679219 392108456 182933475 924672777 683608848 983961195 281711746 771115721 767829961 757219300 538375301 297656536 715167572 205759466 192991152 154722938 936105140 882215600 263182887 459672313 205281639 501040585 131621219 487365644 970559664 437529053 888504177 963981820 493921489 458790343 983841892 822551563 264222320 138443586 601147804 720088695 451541282 658489710 863997091 992575258 450296689 403184239 134480335 986791727 808538180 807611870 338111493 276235607 305509281 787497198 248078099 659726182 713201774 672194264 279192828 813988430 331333662 716520559 788735103 407955636 118452743 408210926 367087059 351553876 441385512 185495908 423203186 182964038 226326277 624885594 696676521 253115331 790226553 106926240 822545490 577773115 124535976 177478504 808772897 140414767 691276914 716618731 350773243 395157824 448370015 427631708 162183552 679853525 636520722 235622478 660631773 383712064 137234318 515391979 496549255 317241635 825836827 607632796 578199470 373295616 209988088 924012321 602807775 255993413 548441689 203767376 441182107 930099844 812229835 145175045 359244443 532768646 731731357 805922885 345878188 978896729 505422542 462590367 729527426 640082664 369641752 758637592 211035875 795554918 139381559 251897480 395259658 639901489 207131917 307879991 655140888 775967742 685691312 929570803 197313506 542504626 860434998 509932815 385917253 944153423 625580418 855370435 698614863 802840383 227772396 636545867 421986596 457945478 562465779 445421967 771236105 693441458 465270108 717997122 705089502 741051766 140618710 371371514 850057606 357744601 872357833 130430560 109186169 376925589 317432683 150428009 293940234 835411381 350443869 512016659 670868344 320713643 786747974 801755854 119930691 161215670 437216094 361033646 623239792 785780299 329727594 359990259 688617064 782919934 142998970 352665033 775217737 322291215 229322611 342716395 450779471 352742877 474595775 808806240 213739444 574048285 699962441 196012290 562868330 371034945 761600158 624303574 211903534 872300652 831799359 513793524 783411333 745328610 550780171 541478041 536409446 356975402 350366866 738559998 786121695 874278908 442708819 985874269 597090369 992915556 149849099 571356925 122111164 115299851 409744938 888082406 477115176 900240657 487569296 308488847 848562108 332170779 678966253 992983350 356917534 378860708 425966933 755207825 814565239 387753004 357330623 902499067 537144751 116035060 779348374 758828244 579968447 857456251 367873995 689020314 181228155 731771395 587735308 187052086 235712105 787086398 164881870 225377361 969869789 344022339 381231616 738946707 941652210 153813998 224007197 337271337 961304265 359949651 943858316 581264067 925388452 214958976 178779709 862392089 535590882 855209585 125661718 870201247 334836402 658064033 490561861 475598626 374100652 119035492 643686882 798908359 987334677 652177208 173750907 781432166 422860288 902788347 251920796 881575047 807676846 823977091 836916204 299643621 886412396 111014067 145933504 816779388 862879929 173763205 745846883 899683764 315225778 276409011 709164024 388547557 146598644 319390186 471477180 581820344 351311861 692389588 818054045 559130933 895052621 627082242 552303609 501318478 210761413 486398695 876599623 774664308 511292110 819961046 821485915 480821682 290465543 224798769 194015654 522264377 984873645 380063232 422819295 966426562 163031074 615008347 246990171 878660429 196114812 354606208 468092628 980331152 707430093 649135499 833666004 650987798 740702648 277495645 170866710 675849574 808238567 319662988 294099587 842093424 702750703 245227750 480515522 660914385 394166521 625349771 716877059 339360034 937270271 975932839 823646461 885023011 195508950 678875906 609569773 357873787 858231074 394642932 421742402 265033971 475162879 956249846 838437000 906064021 528577394 789775748 221501822 441216465 403356445 247831407 358971891 918014574 359211225 578114217 399086966 278970782 763032019 991699965 442050603 155078042 812393470 440749705 657657322 583230445 454727170 924506491 342715257 462700275 291250537 251289375 120009458 185010719 259378141 615269339 198453349 631761267 281123751 862780354 768041704 459426677 571981446 663893437 686096782 841422018 595931552 379611800 819884327 886319209 310603500 225997984 393612857 107325448 152587675 724230320 945206019 494815402 740194363 499181076 827945323 411736661 969993702 935975322 738075858 890940064 228737888 304542609 288136396 307595520 132138565 117429706 857264438 375677860 246522664 923031199 893643416 738197500 706098224 124227774 605513456 700130816 830804198 208215863 313104384 315395879 670590907 478137360 665012973 235268934 375811874 637580233 882064504 459481948 412875509 805394358 641820558 605872159 175331812 385579721 937963118 451855207 873242939 694300720 618530556 842611039 734625100 969092465 787314126 723089468 791801257 398901698 144089687 621080812 147646944 865004133 990263596 941302912 905460488 945500116 159673179 604838688 119240531 694704112 631382185 979024216 780839903 560981348 687284075 118143340 375665841 237139941 776580178 124134184 405613697 436823842 333869822 734246575 854161590 126158632 755532725 997582844 222791813 808254554 959606363 289666515 513465272 605471198 260684886 557501097 659246547 617934318 515571228 268828028 136262888 225010060 667577192 269361792 926845911 600294415 455209714 647467549 586727259 102291817 794825218 307060557 627921929 560260428 274848170 538461780 380542884 669685373 659547213 570906009 177971319 663789088 501598681 880983239 210572350 180322424 134651124 339618144 663709388 832550291 911827243 202890646 467510635 957971963 987414071 782658247 215481412 580814559 225272627 815065165 289918905 415943713 564955559 328611098 360523216 430969960 312566754 475610184 336065792 170675890 175913306 500916756 952198028 673691437 939687880 421883742 672377438 595507825 372283266 131044591 715889920 231650460 143604917 762538026 482247114 909791790 149710743 704022330 687098467 527235816 746675728 905026502 577086309 841811036 860478183 174485211 930741155 802059812 729714742 371971376 129812872 485472503 467569376 548858346 169858079 309522941 268692602 503606763 347815008 952432870 874389374 156622551 405668425 620102077 941587441 250843079 671084001 452723671 337186477 419473524 258022474 845941368 180979938 391047619 582008788 990984414 808329201 317730256 419466611 827155208 661590344 738834840 904361219 115853752 520937868 515938977 719590128 568103709 324506470 497733905 587581638 161955577 992493784 612049525 325722558 406760616 477056056 132138930 150162969 814818671 941347601 821711263 480103680 543184843 783968085 148569793 233475817 833760825 162583729 114116018 563917046 722415082 868995007 255288980 518321506 998377094 523934312 639175237 424840205 157985871 918302644 870020729 939963946 433821341 363123777 282572425 926627338 230166350 134923913 425711816 599992469 851150219 811515536 548610452 132340831 786861656 315901205 191231348 693013390 311222833 735678803 611978607 892269006 165553310 246680503 556544646 625620720 285055734 127129218 830726093 646389255 418697785 362826206 356818206 287851460 983725954 597259021 246763282 672179580 556053783 149360280 543560342 555257504 281542363 963772991 669962926 395979692 485908533 125660634 850433193 205205870 403632075 158227679 132047903 688334469 503597846 677314847 497419052 118505753 893542716 786456060 579118450 870383803 477370443 793079991 368012667 710061832 959503922 434399663 149846826 854164166 597666108 913677377 273197249 632864757 194369137 981521643 210525443 905426136 671102628 200262409 293561173 939728834 351347675 309040196 850226555 911920937 769764591 772403829 844866283 291279125 221933652 334887488 406056950 476737592 968009106 551152737 259993937 952856424 147842090 483590058 271044680 513552582 129986785 426047434 394452108 904653390 931201208 899614181 117356538 495803438 958537190 605085385 313644460 414129688 216607635 147772679 490559326 403420054 265604092 949940578 679067858 669030178 369857625 689465458 430419720 679490196 100463319 416521446 210300387 765276261 742730475 150322462 618236329 570439366 308053153 817940969 127071548 310691442 301773727 830524428 364635045 284510513 402879452 864030783 536309927 991669205 737774857 914402647 757989783 499484386 924793816 896660489 489892879 367441147 212569353 538424967 772740235 252946133 499901446 284743756 749876513 276516050 639732788 396965358 487139256 623485802 535444734 102598368 667625368 533189195 721437246 286839695 821401205 156762681 533404571 148696981 616850929 644812698 634933000 278501372 818986032 854715018 557678196 511564886 620905294 863780885 124040948 529672742 664569498 617776750 994010154 138847698 592351548 695582279 688989744 761879931 562582016 407020756 639580657 129080593 969680692 953986877 133059626 992682179 231561059 238985847 104875825 939788647 426601955 107705120 823045119 183276733 144335385 487562017 753421220 143361811 631043971 690836823 545949313 690108080 725416681 605941102 266364516 633783013 400046101 385912718 929346985 540804944 564864433 584625939 328241190 336876538 208626139 108686589 515760609 556977287 423890073 989040581 925791329 938423204 574067882 191613352 636954119 509594498 444403669 113601977 963328246 949115247 126563689 490432886 349549662 422964389 783756114 981667404 761103315 466707831 432655373 482510331 233249200 321897076 968129652 790412381 733843183 345631591 139337469 485981083 320808785 484525645 255184546 535490392 463997284 902027016 775374776 480040640 567327251 285141612 712755611 399225706 463086317 501839048 875419998 600050552 948477408 656600054 215607610 395105929 182042406 711040858 227151362 179382708 981201779 596109488 118384813 326812680 193922585 740400135 701335476 441873406 432684092 824457278 152085507 331394302 976836063 569537438 331207836 767054246 364422668 136004390 748971047 836003159 594577134 188304771 654380380 923723088 612151321 169381203 953100361 554086443 234956667 595610906 995690102 735784835 884156404 491505917 108480090 240360206 291579739 126073087 717539025 404864121 835996777 962652669 410415651 530006634 417485680 944971051 965164586 675984037 741459986 900138275 131358490 983103155 170379877 966236462 343206219 941165123 727422604 234542932 137801977 168908243 711146348 729846217 371864294 329155800 205644775 830934488 915910799 136203487 734858834 744450676 672258556 296683554 884237617 429109563 486604082 479280140 300086934 266817023 357577132 692368019 559735902 418481459 208749372 647893581 354365958 544265837 760495996 896142697 557721324 838559460 561479495 762779870 666571995 729842397 741883286 688902791 848109515 335696654 255287906 682080818 231596429 804986330 230152018 973955162 867145776 228070155 963695649 578161198 229667032 525354412 476931294 536530833 527410938 653806762 229397123 428710503 244070154 131816172 717256175 596263656 993814346 308906374 711641193 279855656 843404280 251616302 814087887 279184650 580896322 624308403 539823796 766748619 806030724 439466101 673884637 742370546 472048634 604201003 773797666 702114912 556375588 782023213 847437926 767436097 513618756 302414977 926635637 795108971 573793875 811270265 458503346 232746499 494023481 701785653 158417690 887511388 188317526 421103616 582327449 127635731 316070572 378185725 438386591 953080573 854721805 282774869 607161000 626969678 640814828 545555827 908657397 881928834 866349136 856894804 493172482 251434748 290368578 732768180 677148885 384888859 955888906 733974416 287741928 653844680 217507619 718719414 102858295 563424286 584831193 801915462 304337543 222521352 456989193 472979747 622713514 652419833 589050687 365936072 191281760 520441815 334647395 783980806 609534837 151647080 398717313 413917103 506472069 694734255 595402200 791324642 190559021 900968326 839669362 428461083 279572616 620293306 671791776 801962677 570746163 774641349 368571538 732270051 110161507 401504750 753160712 495415022 688787357 773471177 136506005 167784729 215978619 448023609 899200871 336759656 321594672 991795701 755395656 149587571 832785571 448201640 281506798 783057826 403750681 375136915 208880954 239890510 257573651 896962913 986859271 703425051 575266534 779730037 676290622 692023057 530450948 105032682 281767895 720367929 487749162 419062244 772768236 471198815 715014464 496395422 329723839 616734947 724866465 679218152 222021422 933630226 826627601 309287037 807290008 126892158 373114109 749005163 664673414 219622444 862019162 113688275 493603268 879357259 880176754 148557161 713356416 804298250 730876554 323216696 772680944 226502399 475192751 684259709 609001325 201253548 631259414 575824920 967198002 952619785 851029959 300032350 110697156 105733206 874035273 255443580 710076884 452145872 872422273 899774224 180430413 984062366 831590581 274021160 420427472 425146933 606665820 260609430 367991736 799386518 648592658 380240708 989630737 552868093 679684042 831098322 114220897 581003877 426432525 746785198 854617871 442135310 678697417 470472460 856489201 498095806 694265420 112301898 133215986 244627592 330018965 850655497 175402802 364320933 131559549 846282820 409304313 439359994 727169549 634012024 358938297 461044131 603385864 426608709 457877044 295508349 930722198 409904403 293723023 538239955 901609684 339835851 183429494 297934828 744439986 786599427 196225945 629788358 302961929 826348096 955860665 285718535 250280070 269099022 880806504 634791907 518499851 795524060 401484497 438755019 764442895 957975039 396614032 522489388 706975216 494835990 280682797 932659550 145111579 670456408 967261115 860166557 713577420 314438202 327401123 472823236 253140724 531247197 558761079 945599942 263453817 693463321 339679742 438802826 495092470 696617710 437516229 991904780 404048677 850616757 459036796 103773163 498571885 354009164 668006966 377023018 606734763 837063286 913102405 152757886 922348958 379478264 623414215 265234373 385624780 679562607 860345578 862243509 701042608 608563069 939941684 473966757 953375880 979273812 951327905 638327381 724620421 414064968 655928108 611795882 220444286 402464860 333458617 462530561 321477792 192825106 389247016 966713926 810540742 817179522 419543413 210283866 695317618 465072674 338474461 356240034 454919117 675389035 248903523 950075862 336123872 709112854 130478127 837103479 582317194 600494723 451319411 423150619 946210525 127644451 284937047 514689122 703691865 959827928 436439816 416903645 102841675 779609748 286292875 865101538 836629920 312004437 394473224 622747100 246254292 309078343 299793393 574781078 118975815 926111474 997430235 106440916 473735628 847552569 411392399 822926687 144446713 484339286 892537494 809678497 616098990 678002171 867592379 677200654 581510224 246805905 213954869 161024269 807755578 811636125 439339765 303865023 565611173 946050683 717979901 922601165 936486710 897262226 707669927 524087674 570590984 387512620 325231849 525012845 736496967 436973298 986194477 664164242 933030422 595229071 981566845 415175235 217310300 892487176 475572493 212266636 186765965 444667597 311545080 354660265 191363412 521653905 398385872 449290373 106624511 442307302 163758442 114792452 832116544 443873854 709111489 185117276 888879325 469123138 647506816 509931389 668730015 209994858 908904595 644781447 959407353 377203661 354694498 732423879 698971122 995069392 321026006 355458633 155513026 613395920 103842613 166147869 547157312 712237182 350148619 538278803 868280936 935668433 745332412 925122219 234106363 747696017 388830841 617254658 182415505 502376074 661544506 393333573 918994396 400000094 511923138 658133863 756615603 594903322 766783545 984435833 179821404 738818871 540270413 599168094 507476082 204046360 382738049 451154389 703098413 426716176 328947799 975770398 513652974 298203844 932204262 538013997 118334470 556035035 631024770 365543711 160445976 613918929 528392887 270414109 515363682 322316285 171659555 150623280 898717754 624449022 502951862 734789274 853779227 515751566 785851820 285157032 416172027 139958495 931095728 108430565 402110299 445120092 331293901 628013663 919148276 396302629 501082241 340668667 714905876 285193079 144020481 725332789 834942941 868953934 524931244 674218262 763883708 311357615 539156770 412801302 845990604 396004499 228287228 419830174 847331796 263041972 780074782 464255444 947884523 526459426 594620622 809349221 300200650 956732839 736110435 272416601 562074081 103976962 663298700 205400012 236939160 380950263 187928395 735134620 438734569 566260344 511265457 318112651 494378999 166029232 224271536 380385967 907965578 476869056 872738496 901650063 642576104 215508256 341088432 871158837 421792120 727768825 690076409 404433594 386767456 770685121 896813736 940417125 208227170 610781773 691976515 174400858 957976085 777397268 285392969 275397537 149269199 458649363 862597817 600048131 518577359 769870239 844151492 994343350 312678933 156302138 582077884 515834063 443849615 350884009 578678847 455409291 545013170 435991806 914758989 317218143 451798176 726116805 710759304 589743144 415659526 463735358 278163748 884817474 921363861 113226125 936802397 591212249 874969906 471670083 203294708 825625993 284501819 606610896 231852824 841062788 886012857 583249705 720922138 327470518 689979277 631511721 778192141 660023145 535127294 558538280 412075199 501552856 370121274 309802565 656688059 645803091 294826541 296671950 984366174 552313152 981610069 930896576 403121369 141105384 250659174 379074800 373259152 646109907 768998459 329539633 795232146 155077843 801541070 169819734 216760754 895621173 606917144 787221184 958243862 483593525 471520984 170016851 241480902 357595735 677845068 275553948 118806233 602240902 720838716 496123311 219610213 760464763 109934775 532462282 313789867 822778113 954558625 100191571 418184011 446567939 991894115 386776272 932974549 903809665 115301778 997188324 202934038 595581733 976973203 629481738 744604104 708042554 463275510 819058774 982420006 263881510 144265651 949878241 490105732 789391436 708735416 229845571 301937814 242048135 824734317 582944171 240593583 799113836 923916576 382799910 400914133 122666257 584885189 945971402 236501662 663545017 660588257 107430392 975381767 516302818 192653553 601706732 898060053 201057617 706271459 561982365 859317572 837128603 912251061 355210676 590308255 650874480 681168432 455062839 657906698 495499515 980832724 930201456 954409893 423091083 280449160 695021749 733540618 307592925 100590591 253804980 978081659 552228539 712990108 502491707 761610518 647770961 128548263 104296922 244486616 940390251 539109867 700638951 598223614 321668483 919373220 152803129 866807971 391093600 815757676 248097108 284259508 542239964 369776687 417167835 421963626 986676552 849520714 610574820 743817987 515102545 772200846 363340745 765442070 206643335 446025246 503445655 881748810 527653581 128918608 817403701 710496194 728636014 865337202 669158878 186308931 885684150 830881708 367158872 480041702 429321636 255790918 804824640 401303957 226037837 504780514 181519624 139687697 205825732 763076361 464608926 181646008 430385358 600022525 459398916 658972984 848475967 863984055 313410579 198109825 744980669 517191567 794950513 768203171 731151606 997677058 327229309 995558133 452525183 939978641 664499628 797120700 306588476 864989891 937831423 180932407 417251582 388070317 624995255 274670180 859238478 311773173 450127812 714956890 982581920 865384082 294872952 706935264 121262802 908337345 517893947 983557454 115783450 939732587 267292690 658108615 522233553 367157854 382141265 589937535 994568536 591453255 963304763 171342397 900131625 130799622 773316749 235203539 378066316 908648908 820751141 651219709 325787054 319994699 629356778 351744121 769778085 259065969 905211119 582445174 283896750 781340821 691524165 325802070 142307420 134252684 876648227 320668013 235378930 378136197 562241351 703344922 244053348 828076891 868587029 669948074 839999996 607886566 211440324 293962795 494654689 172410171 849730413 906184451 272019403 725523349 413065572 348293276 493536205 536670702 644383838 565600994 471634087 386092614 579743811 775985143 594786784 922428401 183265796 673055852 116874440 722107876 351045068 664253245 882258438 463461598 551409777 414099175 434018788 756030160 249591943 881080434 481195234 450303109 811150132 687484281 998926385 377440273 777318117 672298249 774927771 611375125 921397460 461439879 983842244 735443885 495924927 862591536 121433466 316292369 232675799 975612921 205527155 504813162 434322443 270905866 226653466 105192932 247108011 311318286 768469432 735849392 683825992 392044534 108103581 382456947 559596255 902118852 960467011 950999277 326971042 510365822 507294075 661251577 415404531 831288497 905748539 188548169 294099897 202526962 250791281 248459928 636245938 565594708 693187666 619337253 382637064 938845621 398842525 804481244 336384998 907809061 317507440 374235597 803836231 107007416 720045873 637989980 995828908 315802839 592859875 216909840 655439597 300109929 671974086 159626803 901703265 821611027 458680817 971039962 943568224 223516320 386554756 373836376 811267879 836438634 914196838 585658667 438765436 716820606 801200998 883124625 135369256 370121214 206335206 473275786 949400698 227291243 491711203 284255123 623559294 508007570 960272793 958489221 230228374 948447873 125845181 243621351 434273874 758129985 562903572 289075543 370704915 393787449 626645446 627384806 556552173 586959977 758236897 827956669 574246755 114908651 835595123 565307551 720902482 219717300 334515420 657079126 415870796 905533414 965130143 317555573 965867405 331262532 465086452 531705782 238801656 237804804 136455621 168192127 942407508 363029416 514923488 601839501 257905085 722759238 732418322 358784137 980825482 813439040 535340878 116914183 384589485 764614424 447068088 464329599 133793305 527358149 818187307 929924302 110965596 368197113 307824864 723527498 554552856 645240454 806403989 879953415 819480580 402147427 883183507 752540106 562367121 863824447 274762876 438340071 611004779 920195404 582617643 435940218 320588022 211145011 994978979 300528288 721760651 460190653 537554315 632955528 915695161 175210871 154943765 871888553 570353781 301902222 794318975 528335928 330628758 762961532 663948542 954936263 830476171 954045547 710122404 114748282 222049630 474886621 517752271 378778518 997384166 241083913 992228828 369927838 813877225 722608655 209996281 742860311 258370447 797025021 913018872 686575509 808529888 696600731 326412674 631542385 884601086 579865511 444883042 986975517 731394355 226620077 407725632 410586068 752967941 421269823 902902489 990747654 519565180 623412429 465142017 107399168 662989228 228866909 243127515 664998769 292889582 474447193 960120746 342502717 132227793 778835489 339811113 993888949 967681960 609779631 863582928 495966179 974041688 212176862 226825864 751565403 686622418 439139518 787779161 976175355 627186154 367994889 334542608 543342727 815587031 728570962 677359097 311334595 637484184 554938019 820030414 842420712 748504612 511641934 206184914 166269067 890698881 877767411 298039356 964386859 103307775 469744256 675751839 791608953 825064832 779927200 151775763 334037529 571129158 488846224 171295515 403415862 948833700 696096087 129451492 991592323 189521803 549980959 550592316 304362465 785399063 985079603 388816420 661015318 729840767 117363669 875113809 607573170 640367499 798195844 140202717 761921028 467540615 708938625 148325621 569375670 780810577 181654560 462976797 633720957 277377468 229450240 929704547 937992334 302136494 976490059 971395827 404387558 526000927 331180610 546802616 126100126 494183162 883758536 530099787 135892367 945587762 480523039 601295350 134114099 826971942 801144810 774834096 165820296 599308117 675930330 507544138 808240518 161255226 987674914 750422698 158565946 673805779 904691684 516871075 539496568 934133677 810097750 352331280 898810671 833444245 591919078 631772486 207325175 625801509 896764649 211415470 769125267 401590581 812142615 795644410 567112418 143655971 987871035 578590447 710448994 176280835 356331654 558892451 532908144 315125307 615898764 835121223 854307663 764234532 651206824 950337423 734032922 339679110 351397786 576064104 172871603 221311766 886375028 399357334 391202237 979175880 810561529 805245275 808020666 750607532 453617819 731541375 632924842 485714750 919223075 203579412 263699529 254208122 187415336 684399510 536732057 452703445 180779863 243794875 311318370 874589418 647234956 896548486 842638389 343518802 978728654 517596470 186391019 818218377 108966887 518020929 864477637 289453329 801275391 684886843 256389352 400424239 200399918 289458884 366717761 478150913 125591156 783214324 426316594 521998031 468244038 682252257 486655413 876131606 329596372 578872851 446099069 772672926 972845130 553574168 563734954 309630227 951967968 364394711 421278118 503065496 990178022 168283535 881460697 145502226 636208911 810659538 452220469 192328044 897536495 546830039 261704230 156886089 823988104 464731816 197192988 900764099 785077754 686126511 705042019 770331282 861929555 930421572 652323005 777396101 733407421 906963921 858910324 625677431 273495472 833472139 306604958 330566173 398913669 148169957 963819601 957737353 448819365 104440032 473093976 757647734 449736210 838876334 436385970 856682055 194572095 949971008 850562131 443850226 542459845 390905501 976097027 634032970 198895711 942206993 921485910 999506651 383388140 436430163 555950003 536410830 702057834 198285395 534692961 951862436 811583186 607903165 774540376 164070616 836402305 211907209 116232552 894648546 472717971 324514878 258654240 107899266 439668138 918928769 206775492 691686146 910756134 269256237 899879359 969593293 828614141 434893106 651686990 526760224 430515995 109309470 738825007 170662171 214180527 320189159 326897796 773799449 535690886 121702763 179739276 935243302 861757777 291350153 876372831 686012785 300243830 718891435 530031334 617483943 155607514 393424255 190844170 360544333 473818955 821785356 904104520 488788870 377340432 248842070 843841855 320080376 579259239 886519759 261615087 908969730 572666191 210633519 658935581 532247635 629793753 706177930 251338121 428925178 169103467 894563984 585106734 286903316 153221310 569281000 462476218 794720305 678929327 516086026 648959585 376915231 778150281 941287545 848134706 241038378 562721650 404919355 519802693 534784535 857500355 921780411 866414498 319812951 823208049 360617831 175991274 407562352 912720387 878130835 787367826 221734813 914834112 918804868 206228522 924591534 169621646 239671439 516982246 167895499 214504955 143109768 725309166 350340314 330166618 838087255 330197792 755627942 644349902 373659966 469347179 633044643 493762263 998214613 510773958 121379217 712588602 220740733 836973153 526622366 448227695 589250255 273556337 924556912 360549281 358215835 962633033 154046409 305402385 619138513 377528793 609325608 994460043 104594477 979278652 667076753 724782405 722139764 502169107 577244094 309214628 341455712 953926751 134905118 434920659 487235749 586432146 589979925 460855745 495397606 478845226 147267555 499209450 633560476 143589070 777055477 518184689 131443975 865788611 440463491 442293945 617697483 547139110 562812227 283036768 869382120 861962999 701712246 572943226 386110365 909364347 891997976 767999436 977443230 459890792 925738219 840906028 397216000 430035517 394652851 170559109 351125487 578734358 616899732 866986538 332469425 985641818 798946345 273962467 174430986 869799754 702034011 899990184 216563828 648198052 471422985 818516353 162853951 424406337 277080621 469744637 278136251 939447242 131138023 305233369 790352064 401032349 654934060 545055330 421481606 952007269 479588965 301303859 968161176 693448538 397254080 346718070 517780267 965411370 398505403 994086519 559965802 607392648 889818859 457076866 146905878 552159510 571997359 802534306 863069506 145265684 671669687 184358744 790387301 539713962 392390862 412440726 616349261 617932413 538295842 941026802 649751646 529791357 733237522 849517015 129758371 561119433 545131660 575177666 611778884 179566825 466103646 430041866 944731874 151011367 313041885 448151537 250996668 869072487 220549508 486992541 272065966 231363173 418219112 109125256 556642108 468755291 729778427 607647182 521630712 254615863 934697677 449386898 600308940 184770350 297897269 884596314 702462145 375223396 527410202 159000168 520615661 247758237 647414377 902956610 994995575 372863891 460428100 888958971 848146632 547020213 966293855 421488937 619784387 662726082 297609541 943342283 674498338 317571188 448969584 591414953 566205274 489993359 941446250 581639745 248815154 297264300 141099733 555464097 633213294 281163869 168449010 478366103 649317157 550997224 495860862 203142330 889561659 127252205 145699869 992161979 541975572 501603123 307693056 101070840 490002625 195893575 474690284 518296919 584020480 605424273 951353982 755080953 334027339 839331427 570911216 451005397 201192257 882999709 758266355 679420940 843895214 466969910 755860063 915597795 718053241 322463056 871435973 880591825 780663192 218028711 346291430 893679421 667040237 795175075 930329418 692807570 694414707 491480930 397927378 545755021 963960932 563824060 708437116 929481052 102163059 426028081 900619918 257782678 508542062 389180111 336304550 623087098 165668068 900589165 846027234 843673646 524820824 289713423 155920028 155033820 686502194 431325471 341911022 445849002 670017533 781873350 830855250 633843568 741203117 370989336 237608956 166298597 269697192 124493739 292018606 700499127 407453937 350885809 227379261 491963385 185671460 787954538 913625499 510283913 361433722 310870365 876811451 644032596 263612353 293508071 605957166 793987608 443177222 346026805 925337345 894640752 419578609 634526925 878924749 954517586 447101642 954462975 883492461 842383734 140344092 960814543 132286582 677195936 869463448 186395710 521200586 168195976 397018264 888788777 613194547 870024489 822186432 714441493 894403318 993132180 391782857 765597930 915568414 423643478 552655865 850574685 573932451 438693926 419392344 582276087 880203482 618678360 197803603 177763380 471841532 602748342 442449923 633529999 334377733 239932095 487785773 136294460 288760722 643946799 957323809 997431111 654777441 286236149 700368916 615997382 684679208 897307337 995513662 275089975 109938618 178201004 909189384 979053772 418973981 185573932 743889210 451098932 504273854 130503111 141096414 634056673 393488031 175803810 594584481 101545165 813685832 435561855 158058363 732979805 641698754 218785921 593875142 852344056 489193291 219008193 442555084 132146027 341141275 526623698 669899882 650427672 764115045 297552715 494480936 568707361 409757666 823252326 552467309 634758576 261540162 468255985 661919060 985705807 130961785 801945144 653297717 791314520 509667266 881841097 292854815 481143669 382486107 625383969 851107270 146817116 249342576 468686238 224806949 658323960 257392293 663255130 523295402 214864694 967324285 262726804 298341288 159169450 756241487 244166635 279136143 750400354 234265417 112761910 685634124 739883697 701853627 926132563 212472171 926946306 957581085 954833874 252069332 902482885 379756869 445520099 695107871 453753723 670465044 261818951 191215792 167828406 330099341 200135490 201492185 775970922 442873407 899706579 286692637 105412538 976470664 679093716 621110212 195603459 513564121 393984980 523992080 869328335 428042754 915683239 319549946 248913936 157726388 952609856 488246912 105321565 523909564 654160437 134420728 814134409 843545403 483476755 903908312 282662310 704927078 956385413 133529479 881963228 402750860 728491396 754421424 327378833 833363379 654958632 452136421 875261791 911411325 245491571 308250178 424010591 224104237 981946083 226037945 748367318 113056470 216776761 787382618 425015356 509847865 719542207 847058968 992726237 338226246 783356827 421544681 651188475 308118291 284028616 639295103 243785411 210543803 221549677 835644678 754703702 150414989 193406991 549071163 633821447 510832174 968028217 611874547 964332440 503666698 664721253 569608950 883089747 910859317 667084610 120487043 280853372 199893274 759695262 470009168 186748872 170585636 573222240 287685008 267068102 593252901 607102343 194639762 637182261 196503566 740059910 766179359 439538523 575171823 297707018 392764626 988020012 643031406 265433279 124746472 545253531 363236003 919055381 786623388 361132738 711524554 117199222 741369393 299740297 832515102 620017700 910974924 294780777 179553091 694225193 639932542 293035039 203850477 617582013 871929107 480211337 634834887 973435379 666366964 341186405 489553274 693584405 845037019 452090483 784878119 877192841 595269105 999090264 830017167 846956309 667165502 649362531 429021397 831338662 204453880 648284187 402718951 960442540 691860344 450938221 269451569 351575967 648699274 736019839 592588024 520627439 830770476 960508011 316498841 484804864 275624805 417968480 838822876 325364070 768967478 361260872 489493712 499980494 586721097 596380185 272802949 999313873 613585731 359373113 947206823 466412833 388552086 373954373 801322356 976029521 242660968 791126457 208921973 910959336 454167710 304673069 873011353 924272216 232575693 796119731 619889981 580805689 829412187 220445140 424811422 886013374 943476940 225574991 232207010 829175576 793750872 629883613 710736650 701002542 425805191 938656402 713123446 146135740 578247830 981737408 836530152 379448468 819711669 326754163 225416233 826546798 567549330 542226854 102797663 539402983 966965663 803481627 211934162 120211433 796913033 874696815 324096385 567540595 784343285 661556108 793470133 250134646 292594484 631633557 417167144 175310722 712662321 710772004 217253011 770214312 855472430 957442334 642465476 102642823 673310950 196612729 170372761 447173632 662303080 347963491 361733543 661284761 731032141 890026418 712629905 392687331 123122502 379851677 987782275 676666254 984396642 661574755 546277857 722349081 705618787 480521497 696636031 630261622 461570847 658730170 205742550 582979057 400294175 260280474 151243775 495137365 901924051 186333974 656348880 633836822 377672023 456197104 347043805 837343112 187939440 405105661 428620663 706461427 322715138 283202367 281767109 924757033 179102674 440959908 696067296 822290819 487117655 568670815 390312063 440403201 356899996 583014191 532041006 148546492 713138724 993842766 589060706 928079416 237283052 819804856 449360669 193790164 825825692 889939357 500593507 986296117 220196932 739588599 346829373 462773499 843088041 423853804 738473887 955563360 840637786 235661698 222770821 174066888 234873033 691923594 318852402 463774186 434184931 653941385 224557244 441481990 641091531 219536618 827686417 861901432 111409910 327095552 415255094 415141175 851205417 474383834 695254446 211679807 522763477 870171307 262271785 171563767 757026462 300905836 657581616 332775647 889592510 556396135 452912851 841489181 887496486 915011494 876192239 882983455 132533358 687161298 412307413 273115016 103249587 276133091 767833004 735990311 855235306 964169063 204738948 516770560 683786787 201363412 254419438 150073330 600134399 179932098 397957614 806417721 433534203 738756416 186051681 895303105 456095943 187034059 173744705 954045668 758121923 460939487 282498892 881465489 838044327 466923502 773922020 143142865 447292160 799716365 608025112 207356284 783474310 584639442 660215542 202333718 161993462 864589489 797658253 880694739 112527533 460754987 929295184 211015133 799477230 993267728 967329231 292502039 519437198 706548768 745253666 752151264 602653966 240855709 136874045 313652943 440421810 805651954 143988177 714693598 742635433 694006894 829169948 342957257 116130595 385093834 678681962 750890774 795675648 937682949 764438875 897309797 643123343 398628696 572172309 569998747 563118841 327583675 434089977 301848023 536615898 251449762 446871770 335151247 207717406 976009132 410641569 647106207 902005941 664934590 334138620 683782419 214494720 889092652 627373197 996772631 665273460 278053263 827904947 318203313 928083015 513243550 263713084 749226582 366759480 992747641 679819712 247897729 618025807 491131610 453611444 428109507 905647277 465172117 985976687 877478932 846185123 206286024 774814147 994702496 825277740 363944881 938945065 493533214 257618844 964457050 152765765 477268875 194148671 691075078 392640627 497096100 139276401 999531828 933692401 610449775 367148594 434952502 659608257 239516118 801106265 577964014 124072568 897059002 475838570 991155371 243075979 447665390 103011535 267976308 627507007 380027590 938091541 786436368 142734815 150930160 426537865 846868790 601232300 231506915 843490942 687485289 952405462 267224169 404547921 385904575 610361943 142806948 309026213 624247392 576524463 290626807 985247878 974460906 661289688 285569181 652979801 565249076 652766762 334911949 552515365 396927914 673355645 711827459 376726736 136836266 113041030 293744034 288456054 820966683 374194490 369968347 897668325 461551375 216904327 583352608 914832148 160353818 238508676 791845790 126374853 962064788 301688521 488272260 971858461 847418883 922180538 379269373 245298025 837884882 118696275 294466012 772623149 520585537 605563117 249749392 836617476 374404413 426823929 392911928 370483452 888090381 258273324 956798595 745397923 414646478 492156650 197582411 653078364 192041275 665748215 549932955 785232716 459848629 830201702 948507726 779297158 310404465 692702788 936867053 244964476 859869985 806543177 731554203 864315031 981347884 906274324 681924969 755431848 706933508 448795496 735387407 188845189 258913073 298690615 196749146 648644810 897717435 401131141 898406251 475026810 273274640 999296341 366523187 339720698 883166443 549068965 429210469 604293598 459515202 216700162 720540444 883011155 954536891 738021569 594053414 274453789 366213078 239038124 762793142 290489640 827563080 896377833 445924831 228686978 456939850 354870777 625348653 735158000 830465155 543359316 765508262 381373955 357850731 992684903 459307067 805742229 987909296 264286069 374008510 434915870 200951241 996284070 672326282 388329460 577647097 793999758 813784601 323771525 708381051 150384176 225185924 507699964 510857423 338230755 490409748 686902667 286703084 421514416 769102221 183947398 356255762 374859672 951082337 748526429 267353917 215253787 314387279 789092220 119513808 162626404 125439257 229366000 608908121 790788241 529064888 400324260 225119212 613088099 842200013 654834798 561888554 717716902 966998664 602372030 515493660 166521050 805053600 135217583 319784992 488129750 725247703 193105122 285261952 143690733 619084892 712356240 218231298 172615867 900557711 298692339 552992264 812738823 438332586 589789326 133743739 686926684 532814337 872902123 835195158 649014490 728906800 485643746 227648857 313662521 272515424 256377122 649317706 405166088 641188353 549819322 177384903 106126810 612992636 144702721 980019278 505553074 162231011 150207009 985928096 410274872 543867283 353743404 105772842 509835509 582455171 328349527 214504711 985404704 701604220 900698987 967551427 534808973 429813021 969242036 397441619 395050409 645298850 716696868 873234888 112371385 181264434 152032061 986871804 212770498 711806301 938486605 501698862 313975932 987367321 668856171 157852610 872073817 486888658 800890291 169521044 755932736 621014000 975441237 611153813 767524053 308927317 738515925 666207190 152899674 736427223 729463340 537313230 119211235 931416913 378574470 768544095 290354122 799946043 922777169 675242749 768427936 717716808 605622447 565816824 862706793 269321108 470220525 746358811 101058349 314811713 401171436 562936824 105264964 240841932 901673251 865943523 245362432 960629151 327995703 107336244 165171514 309993722 682557803 560659868 812378596 753435839 613286998 471473554 413116309 159152530 609919910 553493976 958389839 366854424 640489260 571408021 145629686 911037599 527728490 736329168 815024165 556974764 407271482 564778571 206918962 981255735 971724922 606927118 441198569 621694877 165107437 128426044 900161121 166600871 602785379 887567369 778676250 621303243 925307357 281602368 597009698 587804643 560582700 982260749 337905091 840595851 239559907 784276697 871236716 326522254 330315433 266758439 752325325 680384111 351673332 506096188 324358123 830160372 240439589 751594733 210150500 436953317 614003220 165198514 939301057 293840529 487856771 553572130 342153648 591953500 637437220 837483684 636673006 723739678 891262004 651881989 721182184 734052529 954528572 599919291 628781622 456409910 796402568 882920322 826088278 414130606 146696653 563819125 334142612 592819311 679516577 576258568 535147663 696224168 403595964 764944723 949858012 944878679 680335457 198471003 128985612 196015232 950723517 510317510 684082855 308528415 295327438 646138769 680303685 196892768 235120909 104643398 376762040 337288844 586072013 330394336 272397865 321575811 237869866 440169524 516459994 730974998 265817399 317033911 562289619 120142465 679399508 547406674 748668509 931054420 622564320 267294970 559907009 143536784 695465469 798978482 103895598 808533202 422854695 262553177 930774363 255333115 289909249 886162639 269537629 306101429 656931375 991408120 117608619 263927168 318617883 427533904 100763776 492882017 985271901 128710045 903605377 379562526 357090268 309249129 539383563 162070693 161866484 620075595 336342068 626355896 516644027 498076249 201722280 664358455 733867909 252165827 830785057 545926927 383002651 296716471 460561054 443478937 122032083 364392924 635116281 503822966 849131369 525482948 284122602 182651256 529625861 371359378 297647710 415885139 158423497 362056044 651767091 862276917 186444177 577010016 804499542 962507453 239400284 220147631 443415773 523875517 182002731 689058743 319088735 815523539 692583903 589554837 601454886 641289210 348750157 339960838 650275747 662672243 537028071 624294120 261034435 579015090 418621234 548351274 838519100 614341405 658237700 374785865 248295417 682143354 499934412 625472876 927928418 788555173 608622157 919902523 806231090 356471629 172432013 514339847 810811051 666646785 695156486 193325951 318876491 101026484 382201806 669192313 184729487 313448103 842227031 298287811 285967066 945382102 859513945 662316047 115608978 973543948 303316545 777265242 699133537 298243065 564341421 846629876 950088555 793108218 271521773 773399870 878707924 904626236 294376059 286360745 448845134 572202898 701196219 264107965 509764769 624244417 920063732 807416277 489243546 240305815 573434265 149814523 777559861 136635493 821958898 148475481 713149648 244644856 122540295 838322179 106587269 209278754 867558774 917389561 668807755 544077068 660238334 943757800 740924144 127629969 676273795 962208360 122170667 383252373 392579311 284134576 210794654 880300765 205066235 891836846 463221825 774392312 463269617 433612989 742803956 237804673 936309546 115536129 522789143 729980086 628371406 725842096 363778831 923621617 307012369 680409888 876443374 642348395 748426244 920794159 341869813 764052103 921424375 298798189 638582069 906111231 900020215 710794827 629301711 330539470 213709086 462051254 685263887 469011303 622866761 761638750 129669733 398404888 323136457 189434651 567207617 471451421 785819069 229890591 538388431 702256581 666144911 309618505 538923207 757903800 747853025 340616543 600657251 692835853 396907407 948638341 470072470 421014019 380035106 935024995 763889440 463838238 602213074 182621545 725268845 221060888 637857107 865028924 753664703 877344076 643477992 155056839 170050851 830143103 674865695 189020437 424395775 287785384 310779338 779493078 914196873 383943579 947511637 530322973 136599814 209760888 380016216 400081392 486502791 164974024 109855547 191526613 485376192 773118562 826679304 852324526 732730651 580701398 958370326 567908808 742296918 597742736 181440474 150758936 938836086 305348943 736922946 349072194 670711776 534551882 561396316 813482588 289867341 952802568 151305789 444214580 612684485 424593324 956894080 811870202 303640741 240031452 216719912 850153761 892658869 818434526 911926106 272943045 353946750 918536273 734454196 263351704 734845292 102731927 649880722 246041852 962426748 321599341 488411025 608885810 302751232 708651430 156923732 245123609 816713005 522271007 736190031 844550967 681098179 208831871 740672599 618088740 959092413 699566952 932453311 296239607 376982313 667804973 756101314 595646281 506695141 612771386 443681776 370086542 800933245 356393241 995514736 157128535 176462476 378610882 719165813 406542969 611905942 140465215 719603798 132812035 413745274 651974951 392133248 410697984 579881426 540951356 291064501 994905007 786330551 972850490 804529543 361142296 402240324 501012880 368120362 850622407 353628552 425358276 625468184 482468438 970467836 354988644 460785750 853255053 281413582 636035162 976924974 855462170 775537989 943697412 699477431 849913045 173490621 319543987 921346153 558565382 180732871 399093850 287512399 326363263 304521720 505611595 236755457 462659231 320397862 447683002 281994579 974530602 408394942 551923659 929534834 517946628 366962128 178676445 991251121 215264145 554131169 815736328 244079731 669001379 321693569 319062326 136873671 378675761 881742037 189204420 250803048 605563268 567810312 367153581 640617537 812214339 857353040 156670178 991747386 552250469 321945208 657431676 263247308 945892666 724157229 190502265 352980734 144526506 345261561 874024779 299451219 969060702 566627830 158998672 668603048 513175765 984297822 762053569 834435297 376282748 182507338 243494006 898795884 179624936 438716300 961217128 777354819 112374471 204760712 456359420 886670522 844185037 764516936 820091824 445373889 818403459 315161322 981849827 736041959 969324952 361619794 606553296 388973838 535242963 593420784 462930068 413359659 522397491 636946158 739566304 560318798 382660230 677280398 689838614 371631662 309775771 523533406 888353101 289309906 659438925 812532739 580648067 833322000 306955633 305493428 168337204 339289634 261704624 202616498 857596187 896785257 541595056 315731550 661798092 952349492 448285599 284569302 770243499 583858280 908378969 147650200 996840695 617842307 342812601 198475477 701129827 975929772 504034598 519935724 335822527 603145523 387216977 467299629 851825845 965269088 418414212 176363125 617411507 182232913 906339839 682483024 615061018 302529700 671926599 142141862 380853913 187051252 521995267 162126705 691665433 522551247 849883386 683159102 914302716 457647930 796780007 966812766 699892566 285051071 511365732 326972857 273683007 273029859 583579262 134361474 446751645 553118118 326164713 451378719 989784793 199164231 913244889 313515562 540592788 228878124 576735002 364622518 220728523 356160242 683065585 300588176 266247340 135860487 546994396 221542444 869240657 506639110 965918163 755136187 994556223 989800166 910094638 840645991 291294331 765474773 377107077 238929600 368822589 484357457 851922659 295930138 911068117 916368296 432598488 260990319 628952618 640101116 869543740 777964787 723534481 967135654 563697083 710899659 936201491 786099477 340336663 691713093 156868588 111164935 499418293 551557886 311294345 634209349 242219251 555117938 729769488 570692473 419032909 223604234 488419315 101511784 302683867 434474508 442080356 148842360 179547620 222454592 617544394 295840518 742703109 886808843 107964969 856540719 376140079 222108231 435407874 109160025 243213867 525922365 339282421 546552904 866068548 763188301 549700368 892606974 522881704 119130609 610693049 251855353 498606087 227659934 670683732 870717084 513067530 611629576 768904401 304182281 930665001 798518807 708076820 217498364 493552201 850206680 761271440 834310007 339540017 568824320 717753061 661167293 996130272 721414567 377037682 734303961 716221468 994450833 809943996 755800550 687400080 448483036 518971336 863763581 591184767 683260402 391903829 732318030 228190029 591923942 652429792 190927416 998471863 576343552 226782795 390356561 786356237 432517805 549390377 947895664 157135369 492653508 964664892 829554472 923366032 948730853 317918355 111391031 958107880 931407325 560890026 295325170 464308617 940984612 214551312 573011743 774526795 219602681 179357695 140349786 777406823 325573795 184283017 928681945 850403938 404738095 494928654 824484221 936206015 723911675 181756541 619223805 648485083 970369309 761500234 459138073 170022960 579237863 633996252 172590160 308913211 580115826 623817096 154309926 332105491 779970764 824133607 629083865 899290716 347065704 289293397 974353631 882798700 655920877 498763504 516824847 294602214 470237018 243667106 485573699 858611638 512596783 885375058 589436162 164372615 523831002 984123112 856258546 840747192 815940107 554591170 807581948 628828873 181224388 124235817 952813725 377921115 147354835 919142352 535573379 979337376 685791796 205685596 966138304 553770736 313925566 843145807 729183691 920911118 492401631 436874417 920546910 257232116 595230245 547225624 821343740 463502038 795129673 212522270 911724213 726360124 510117454 557586992 296086951 779162130 190591347 869471742 728614522 574845656 596920073 888133089 644961782 556471981 606442202 760101119 566927994 303325773 876380827 162074375 889778173 112658530 549497461 505031115 117484545 136239280 689059158 221185878 637611231 241020299 891707570 338345869 367345244 276706981 811542123 151239024 266999311 755561755 665539603 485313321 357393362 111880980 652201324 918215932 934521916 686816062 709133118 783914011 930785546 259385518 691804099 933363016 393760515 996993161 961729396 577298861 509898998 676878896 169494574 887157753 149898746 724994761 413832083 886206782 406779981 457833410 237444107 523604421 776046350 734537962 375368376 850578681 399282553 113530685 755816038 230987324 110336319 202894507 717317443 283226128 555394331 492986170 420798612 455521001 100634818 658942755 731712525 342942386 668062392 959451105 639990346 882804984 902904661 803732897 790852249 501912175 241374019 632621267 491706185 687917996 937857289 146168627 267404594 269818264 222879855 724008785 252597236 337686586 194889939 315455053 186567659 313967541 976273110 657939042 589109660 998623236 704044641 107675315 266067599 977647421 345542025 857347353 433562412 951788324 136458108 966074321 779579535 579527753 857990350 945129606 871812830 646394537 760606661 305548533 206607839 357105633 718147086 957474877 363262335 510706044 486098882 772102002 198806990 367608780 362290961 824884620 291132939 979869582 791243296 654502631 699968014 935488282 109687006 110981933 934995577 517765569 638424693 563590037 396237873 601935274 202570243 475994866 936515565 199926772 184218806 604900186 865305370 152554583 832391087 246564975 688602167 641878920 328979271 541263063 965710171 221923419 124952831 444115881 608468101 783809880 534636278 448873172 767205627 491546484 598955343 391183769 899040316 165200709 787870707 681519616 415293336 864066646 529066466 191892297 639147982 267696369 441000555 991841967 862725014 375841640 484364883 370118168 483876034 264011774 979780763 406124098 886879916 409601340 925182444 998283287 974367970 919673810 211294667 863409196 361546094 457561980 662739767 296390140 854013252 970724605 196700862 994735175 638212521 896362461 206687803 322269541 296394164 273986546 315600567 837914795 874933087 964854858 166122759 806013914 583857799 988969508 327633098 790813853 135395049 749229892 773645495 874180446 772788009 557896580 483606419 393844946 820412909 220622119 832689882 299360952 884692931 540129652 525658118 754979238 993816756 767847830 896750334 652999369 956527888 372476382 585815963 600549596 248754847 716396377 340820736 107745892 814560246 136618187 572575184 618705476 227631783 328655873 867800877 440163768 287388011 553322904 892146312 133926282 310203731 592938787 289979717 451782855 728609401 395539151 108585090 327424122 153160581 405760764 468784815 296501163 576345103 250152408 417852680 431129405 931117014 648093414 960872324 278116373 227520855 376740205 921311864 403300232 857282200 474748462 125174642 918387015 926570831 394175787 644391813 365732356 913105773 476526634 509564985 125878740 672835561 846151034 867221326 296937557 724503853 968359696 691759853 510584630 887025454 722787067 472629374 240886468 244984743 886396045 813044234 592029651 980881028 340977619 729565150 532895119 366278596 297979433 887837289 631575806 269352723 132571406 466882463 333749515 174428645 998608322 636313486 619460755 649550498 533144709 894754148 257723680 956922246 728120342 684315179 779085591 214502405 299414364 937469297 254984966 974889674 298641343 102486237 299180119 560951414 776714085 614830477 273156020 284670401 967568191 107628829 396218736 395085391 459477165 496313427 954597582 238643772 901905184 452946008 293233324 296776157 344616105 113255280 899807221 605809336 988734537 579995548 449637974 848456111 413486181 381628218 852528337 871960085 915930726 545498937 887179431 770978873 671838134 556941742 803215472 730641706 600352791 107575264 342975778 731604514 561215838 805705607 636470190 232771921 436604828 306144424 731654853 148459072 313189283 329789963 712669552 926449122 816355998 136773458 534889329 690125279 703925945 829871994 111302806 843655921 204352692 174143351 669173873 184908902 467914540 692974913 491979206 756147123 578851674 668737673 184633792 305908348 978122945 142794419 465177424 299668095 309187574 245022572 771377886 472421181 199929502 769316773 251906817 261550300 881834748 538337736 382048466 218645012 824674216 809042127 667189328 846078517 678144153 239800339 599199983 460589908 157029540 615058546 775311316 874470545 860337578 519070415 965231287 821399450 807547833 712762272 762744761 935765290 717033403 444579325 541531084 359615828 420671189 416901168 858036170 538748431 181071746 125747937 244254116 679569236 460145590 229797405 612787000 143060472 287213854 318605912 425398679 996190664 602749428 258343338 838099738 240363728 489517155 410232239 129216484 419354924 287746652 378643853 547089602 480068582 546472418 353785994 773553080 889996636 176427937 561506454 906853210 786435099 123750250 799449167 910587134 545726939 418949924 896371108 249791443 772862938 567910353 961507591 692927781 235340007 114457249 769342620 425567312 338069618 558281385 289766972 981363735 833759120 978374918 553020963 748834020 884472820 746550393 458996302 455048049 998888166 135529163 183851106 975111994 946330782 577374083 662571290 996045466 727876284 286955887 737913489 471417035 420883724 830894839 204704995 231678866 694827951 919087381 636164423 528091781 630438956 715730161 200799970 514467352 441882735 266090713 874744163 854581121 858664894 497986057 955295964 908597589 963434510 619461963 661140626 707604618 708341777 890124894 919435566 523130626 794850289 735284585 651199762 410468805 769255607 409630916 698849133 629719767 157302275 878101579 189802751 386281582 656669618 244223378 608475546 261148831 483437660 924888984 571157582 684668671 487637162 337712615 335901929 382469268 423603513 934231789 355651095 873878878 653356751 375888330 901854383 129575820 500511622 790472086 948595235 382982899 895166871 744327790 211274303 575268166 895937784 103038033 563363337 840117998 763570581 873235688 583729565 926555968 320118437 559311385 732542376 669396233 906059742 360032136 406850124 566236862 816307433 718974494 770613843 954722451 451295320 304636851 958675528 314354053 510455518 480069692 852015591 913889450 193295220 224294266 701738952 924375144 535312625 540290320 143853551 225168082 354077240 790708594 945273886 958022710 762067997 306244805 973138979 488695824 654952536 594238677 264427912 464811382 683210390 193240859 932663227 647727741 466674781 304931709 354163869 407422777 467324883 952407324 840443138 910821862 488123388 881121635 560712256 846728925 841574818 902580297 231336103 220524257 246433438 312292435 998002530 133576972 810419640 251765113 741645245 669415102 791735378 864685280 924233726 158629452 427734378 270729078 771682286 966496509 419428887 608463004 341721268 417211898 901312016 407445054 250821158 821178489 421870313 458578892 166087215 958037411 615515679 375769255 657391341 302377887 596340679 607868677 722271343 192065052 851188834 627176733 711708716 550877798 214326129 617254281 427226392 933493033 319036568 791399100 614518498 316834188 570792633 573131390 878469448 713986653 436084786 139421855 154762832 813342314 481455982 805069393 232358379 962800061 434265994 806615830 333856142 808259556 668960087 161075864 999484232 861571706 908230013 658707673 166058670 424806259 949059128 817407785 264954616 313316057 399314973 104659458 225670825 345178532 108835676 112140601 419549636 438177012 902419705 921963861 595777615 522851484 225313876 297306482 915006996 244804743 412970635 208761424 678973946 937907869 265268609 521022896 992886803 243047633 723232806 967101912 123053070 801330775 941932013 758805331 851480411 242192605 588611472 644442939 715000534 947645215 189778990 117805395 366831330 318243284 464330997 285657287 527996682 672777593 514562789 400672527 664684018 113352934 550791202 844252854 696401950 588416550 999542578 547066254 256851908 389882366 957902861 132063150 391717424 479834602 500681414 769141595 724171264 136548138 126620205 707764963 392313809 210391903 884469165 539868100 737599500 447983539 473691575 473642069 110859449 505524324 712654882 463801371 226589976 673276325 293683710 165681944 647858086 914015849 791964845 669862458 975033938 937275023 754553469 117360140 709182881 399515765 863997579 971091993 308312673 984683482 948397417 771684944 299509884 419866421 854098293 463186447 755525873 830388482 685947291 687785961 372553664 769556160 240231147 637473134 667116761 870713139 414150296 345280754 779046607 483728145 521671036 273375104 701053172 940719801 594471904 954298210 471287777 865663937 907168544 898942030 298872547 388034921 588186365 869486985 354748835 675530101 507192590 417072105 578645581 235544278 420219514 241246309 766718452 656579137 905791442 407556972 336795969 508114339 416656255 252362185 955075256 322498435 805461121 595363273 747049220 646840962 765921452 369955936 674222719 901325306 879097659 332091171 117326510 188259411 951297019 916980423 231418615 464150753 759408422 608787197 536071713 593711444 107116992 577856604 740190880 575826457 353139552 797228373 395039333 998184003 470086515 700644686 134052913 585948907 554675810 240510027 993343399 277244759 296141638 479142697 973149681 374028349 630456276 909304511 459395899 564303358 837236076 354177796 106609328 413990248 108750403 605341603 581961227 754053400 679062116 103731684 258687026 762245541 229283044 176327753 181949923 484644474 158905952 981124717 119605738 755389318 186482073 306046934 306839016 971813196 701076157 675405541 248983196 798601511 751427508 786277114 462664725 905231097 640303011 794480740 692785032 162485381 536876281 155022704 211272945 790435801 326311463 537299434 214083982 238340544 938113598 406117617 469051846 513275710 274528463 465210133 848747227 588887935 241967754 161133510 807667571 896993263 507379743 907162369 537916272 228221120 992548019 528929126 298508976 954965742 377026575 386838188 402181858 553074811 182314174 419115511 159476740 267565483 208139133 876583842 900876898 564621932 820650459 340576592 666779304 402281294 406012718 823597606 745596902 858921260 429247363 948143911 231780341 636385927 381943205 861298415 294748260 352545767 272981756 495407429 449052766 974226520 394825402 835938579 995856140 459065446 841418069 662886750 346229587 312287068 274032597 475602800 510641052 482044384 835885175 810692015 267795893 698955886 903513180 624822177 253064853 633713281 806255674 961597491 955332071 191624978 819397570 780009991 715798675 134983812 562579982 484812604 204479750 976029924 827784035 358509620 853564132 759602315 719497992 223736504 875434148 747524804 384537178 742196815 619380041 985718567 379008520 240026377 445243980 229194160 678691862 625795160 379160041 855972597 839777366 594811930 532835244 985409114 890666882 218411700 513503038 838269495 637073395 780418817 251257240 851949196 743297007 434532470 478995657 127380768 170512647 938935804 163090465 877951064 292118178 426493076 733140661 689480717 197933086 400016215 587101644 571911421 473551466 618824058 346150635 138504067 905240105 354888484 504167450 294954723 303684791 364134697 816441346 107473719 989979007 424390047 626808274 804860967 253653551 208907943 928943266 265557249 305183413 198330727 917151659 484392751 231459703 208696180 826137071 199953812 513798399 722030365 163410069 142301593 560120903 989576520 495784932 925192783 550050661 891889296 650478819 447617582 411658250 577458087 788502057 611504014 174972344 947803210 885227208 679511212 734763634 845702550 265831108 466368302 167916777 536402140 750250054 476925863 658763074 113065144 851862953 507483264 860378862 403023382 844806143 499208605 373610578 300531780 389981337 759451326 721306053 229369660 511713683 903192827 955609485 871748590 158003746 108639499 420172002 961665069 964394892 242933950 571070255 712061549 834556163 168898408 529748159 951642200 471197685 555532830 821942245 346103276 143985863 329552937 433305224 873025650 957306735 278783532 482627894 761010888 754831050 494427760 437992522 741604242 789813253 265460493 116354681 733909991 152306621 898545168 548380156 634607419 985820154 877410559 519265087 696400300 538700748 728689638 175401818 192056853 418292157 733826554 238703983 495464493 124804367 213787111 513925505 514415018 774852027 164626160 651802552 254719961 844856529 421540617 720697526 979436023 375853800 829184475 156319730 172903046 976634521 190838704 473137645 289286108 877841003 721353036 904353595 470185633 126990274 425809134 139250857 285333997 253095338 322116777 477534948 186694639 107245453 355377234 137931068 494482734 373740400 180731576 172843452 164513472 152089988 627183831 743982654 521989576 520774883 758330462 922294887 291070406 755997329 769171033 813959209 376246073 286079915 228514253 531042730 651870472 383877653 128977164 298136084 802635747 863094078 110423558 850153752 998061654 440551481 651613530 981234062 263371681 332105826 473697994 747743727 166609899 474261510 452283697 306429350 316415589 439632189 759430995 943059199 904738457 511258459 825667245 931547168 390900081 310917442 289942941 340647449 992735680 434651982 496423197 809326857 625297608 916419784 940375154 433208604 858761115 734786119 366230142 899500309 400637374 873561102 611809116 335661995 887031163 202920974 527670412 197006889 587341611 984980779 920644806 161605192 296514473 850380785 166471373 671266692 391862424 613641018 491614549 284494931 528381578 356880023 617029110 573071634 337991275 605120214 273051308 113434149 442036181 592526224 526576103 345048728 786021802 659641683 354898360 620679869 939355419 867188865 734460764 185975163 657311466 238784316 935521017 762932123 148708400 360695307 992728887 994906168 905207220 731509537 319287257 197131781 947193479 498334820 538726494 193067345 675642366 505737491 921345708 888015713 501366617 460909015 265451955 832373494 183621064 577263403 142163240 424180483 991948141 518048046 380417568 404072594 565475693 439678218 201724752 649386327 380881280 623830736 863868936 348589767 681960705 748224317 289067933 430569641 562313438 387710943 717427085 932774669 865916731 935399819 738388987 952762325 404299295 940438598 837685316 148808181 152992949 766844152 524799779 838480107 337490559 939897468 539852127 739277358 325637607 269397275 282031148 150978673 801119672 678888972 258383958 504575809 194949144 981075609 137142582 199574334 236291309 812918183 262796386 411942087 215574137 169283826 334364170 896712024 237615239 238235691 599197321 451069911 134427632 557810495 343025242 395015361 314888934 523199136 443601892 869398862 173660088 967318361 430592191 924309067 416419684 193183373 694195234 760568135 830417021 716112542 937100913 450414207 522134005 509387764 456261618 872260355 265397675 366537464 880853531 110408286 254356901 464401058 229337126 241797601 339575020 453703166 181121573 515827471 538469263 179163161 768057451 817429613 216926128 927679707 456585755 617616946 110748963 603382043 453278306 687372900 915896921 879088444 314902389 832138539 810365587 151185972 611057739 172683991 112225298 130004864 601664757 711904138 382448518 463931838 699533532 870025750 805316639 553688619 845283860 238733298 242395072 989886216 625167624 942672464 974057884 440112877 171062167 745268483 430195116 334993795 983477093 446761399 367259579 786455143 443791771 162571367 496065789 603543027 119328577 509342480 669638170 817777346 917888379 370962435 294231905 574402697 684361511 172421665 910282756 520288213 209324579 388114705 774184272 740135556 881357927 326638132 818141953 822539901 583167177 151981357 904465344 852473793 986697795 940706245 201036746 752362972 135482028 225202334 568192633 177257845 852883420 218648984 182681301 938596131 183292076 337338169 426354792 878739225 375937104 484174075 461774525 998135243 403790037 244757222 791454885 941875046 935092568 819282337 676114708 820994677 317895340 468383677 473875934 689977482 190454688 798222222 193914333 763715551 507251311 164650529 240943093 638166104 858347037 966189570 859458715 251713912 608044717 570837179 984884976 911746282 628311549 595777366 517663222 407693388 883796309 313508059 639141221 952054121 775705182 903193091 872813290 804913468 983219803 852353395 457770281 232011894 429928263 376553560 854344720 921295686 620421098 774592988 395780485 338659648 344719503 904088654 821531936 737582919 973630425 553674608 429620296 121843741 342019322 852330250 965525165 133368608 979264408 543890759 231168907 957697861 587748385 319248109 630710342 609595657 513458112 540647597 536940238 123709340 861674043 766244273 932439044 163944679 545452313 925425632 143063444 362455575 187865407 810297368 719591304 186448505 817314524 619807379 597754233 364353442 938740585 223461915 625989498 159490108 623320283 270975640 888512461 329651153 171042739 460272122 407030941 255554720 244189238 661248222 997185365 510391313 918992652 106220996 859759238 357459782 394287697 979356168 735356960 932808836 466122566 622275367 521461104 250763119 297933078 791630472 897901899 395055204 976449736 170810411 882649100 400684749 648273264 777880143 330908305 213527202 240719835 952126136 417448315 893634008 292749700 970242619 219942968 448568422 571005073 366077464 277861256 895888153 786174160 204823633 353498661 222501243 751594471 947285498 253760156 112545988 354369567 504725583 777956943 913872925 168967973 307157155 212473268 899076249 208534448 901060909 819595652 440812332 222933435 971802058 556999576 436423979 847522475 227316292 780857746 957947393 501983702 167669961 533895801 464811874 486240419 631548184 199751586 728205525 763611639 422763675 863917673 976408155 177103368 197262172 391199489 720402490 135337238 157293212 885172973 908916324 194070964 570206117 485084198 284136645 829290118 509107357 821780595 258011556 127952895 774895983 627215054 258797103 156532037 902325982 997085279 746948390 555018668 487836001 214094157 879371263 840619465 964973865 292478988 106366510 826452195 722679856 923819314 201035517 311962377 364027579 367624273 109330901 745537132 109320579 457075080 257587178 161800119 435912499 140752874 263003995 852027839 467522302 599395905 222753029 984789839 172221115 761358083 205915751 219972981 836601305 517772086 411862713 496394085 941444223 206405072 871196774 429256687 127544131 896324794 220165123 699607405 477392979 696069175 783092836 368931274 896022678 414737089 445889797 962970159 195000000 766039608 984698854 969980388 277358917 650949594 130763005 843421503 981975273 423043785 969424033 357218086 868103116 403222256 319761444 479487127 198665520 326810111 430748885 726592872 675397261 613951445 883626019 659713306 603670329 691053360 865422802 697645289 459874944 967403595 925778405 259912873 416983928 581048918 467304628 170173956 887133672 353371173 983557938 378051036 746701972 443971982 412591684 275391381 550339166 189646267 102360706 670152137 290712810 766567492 606635069 887932566 437057093 349043100 377195503 335405030 998424694 725320568 649926399 823322645 357604849 390853714 400935776 938777476 308333229 454814714 381586525 380233018 642144701 313097593 428575591 418768833 328549534 165222169 358235917 381924178 297722177 592776048 690732471 893669227 631004319 565735121 676232978 647964684 395440181 455028924 535891998 793552568 718284261 958531757 817192166 350973882 853959571 712315705 412471627 436154412 560603493 227511921 552354057 944587707 443550954 470049917 151126194 330092199 351783939 429512026 122582425 731235866 270697798 309917419 582278701 963391605 388349181 546260388 703040016 758362298 249855663 276722655 793267694 508548125 476369655 957110594 882614362 666310764 917883342 813797362 538285089 962829528 603159262 214120854 522255190 778730776 457838449 758443933 645408045 223471614 420302247 448827187 991872118 977808387 678169942 959070567 674331948 325092197 689482315 775323542 375666091 563762543 575085106 803458222 568182885 165208604 831302726 761536551 459116874 478795498 158804077 279859604 610853672 819149719 892624363 452335796 676509424 839828137 314694612 739835099 598739046 160332862 600518346 559383465 861935063 230615669 648402368 307788080 949859433 393774916 170920839 840522887 454488620 414375067 623298709 345263096 458289938 443001670 620881006 703812706 189805822 271499087 390613619 733520804 355377514 903230073 964877981 105403649 993882013 873565423 693589181 248005307 504457998 475097605 657527321 158611476 117075417 570520251 876810461 258415528 669976248 622458587 404384304 205907261 880000138 607459223 875070574 154971922 814364522 901849244 991043396 807332785 301076935 307020229 597424377 238287105 259097992 701981705 942258141 209306284 837767466 550255795 604272222 399598800 335641829 523968780 317411467 407414091 606076893 258582603 444911705 611075394 520867673 356464033 114148376 536385258 414779996 811200484 401338016 200192893 739648006 655462440 644293347 728409433 354196430 564146891 480872058 286007858 666802614 781843090 963148757 994527465 997824590 736123825 364392686 659865999 485171278 407502280 925913177 499724996 739738614 504610569 170495150 938016508 238876309 402924228 783060472 344418510 931361734 887159867 506252779 784972488 621539342 711124443 370942742 325119278 816261036 918162787 525899745 465156870 458729147 740649294 366297762 181006744 970168848 860058441 627291659 202146610 782464314 421770042 471582352 819022876 936235440 237485213 378423497 360593042 707446706 938951282 757926663 323770103 649898304 549074541 100031483 783778364 508428942 682084552 338245639 648432064 529254683 122077089 203492476 152994323 254135078 717391071 126163101 799080678 391319664 587551829 806916136 868231350 802519840 574696452 190192562 200102749 912795393 696595609 234179910 296449549 672075021 784654776 341155420 358591214 945434044 448831103 194888447 737651158 865827872 240537830 644527497 966487558 600313632 505581843 367006976 886126216 490027468 626985125 381898493 399884239 879611018 384797368 251732384 930123236 934602216 560106787 648729852 560077205 521820288 451388706 825184413 868697059 303227246 182637019 673636002 714530167 344482505 472495994 537973865 815629112 615595081 163391377 238964071 181713959 266199352 922532619 708087332 575174792 920425937 415399641 390075742 812446203 743149472 485218130 928929156 865946329 189760441 395020188 302513667 982556766 293715972 663334102 436503729 604250929 546490396 747327747 520246414 214070012 122959242 383272590 178213441 816758303 550602372 872800874 706256293 236077042 366087838 927020567 408426580 821081263 405606823 326998477 412583111 279980353 975104668 276073330 525495437 586406013 306266160 799080200 703246148 957613476 761744975 177932684 738402950 135219720 819993455 639097259 240665540 528086478 489240910 770613227 384175881 895462587 680950560 421849124 192644421 472013031 127752708 222055639 321572161 515781170 776065155 497650184 893408107 641041335 954733290 330860942 906811231 168058378 639756527 256285059 933247694 300463993 739359481 176266581 217864055 574834016 944078338 820148356 419072407 940294405 367349321 120340680 404300417 334460645 562153177 655285501 504577995 865595815 103169347 111201330 835201811 750819374 795769539 112356173 699617453 723176507 641466994 433153952 156883911 538683101 734923151 553707673 761555158 113842201 878803038 239466576 775099938 216457612 770441611 965060999 140439919 498471959 442403901 156726632 670769243 476371189 348386195 562630543 617254169 951415133 109708394 516235913 867677746 894341777 603338268 730933673 415238856 760136485 554979818 252019162 397403567 421443979 984256153 572319094 895633222 672279070 511590552 990546042 452695240 663396240 638171556 107821384 551156611 780907935 638800470 106100543 267522268 880329328 359032039 523368388 949227186 829754517 819996612 257082084 419431408 384961581 828276329 391764003 124404010 847920346 827113081 756137432 162858915 701234039 724170414 197790435 126204609 372032158 852476436 850005497 603027185 157378770 440496537 294152803 451244224 330526980 588871018 151648563 767878612 184613747 227622831 959325137 694630360 694224000 126794023 897807717 917988008 518090201 810917601 279738047 371957622 239477653 900871068 590425035 868063001 806442714 951487121 942715158 533218196 699818464 513945332 567152231 388035898 359141914 626188501 944468561 252701279 489938087 804128419 905186458 537054080 925656431 785483384 950391258 897812984 493194784 222340472 699391106 502678873 687475577 667885888 389293969 600103477 573311929 435050699 869197341 956104715 724148140 791641946 226389005 420264400 975056193 229961694 823000089 376015758 729239368 837594989 289580184 187168175 936762383 114833016 306948127 828972615 954926575 378100510 149293320 350583257 301146935 888845192 953278629 520065130 637030362 493009353 454756039 619805118 885558994 545499742 688468026 795344520 464785361 544259780 249360235 236367660 867821625 698800034 685272737 150348068 772948660 557409076 793261757 708462069 100030679 917975157 984915434 130768943 592066198 996814907 315545869 346364955 176373393 302270673 226462248 881108834 657003804 666972854 735880869 843601764 802912583 607468283 991948363 983972939 874306764 776177065 791062194 655391421 954986453 836918694 866313849 158997184 756758150 861450113 869406675 608029206 360254873 595186414 164322727 935916385 590998079 407256737 615097594 565096755 581452200 935165854 952774660 309301413 183105153 114041072 819103053 514369631 709058916 204177834 893860739 302016679 576718593 782464038 352964731 499410005 324279080 200556193 461789685 472467199 317596019 794050522 944127416 619757987 575541510 871513773 200997417 666597820 169000890 179036662 693818648 412917512 934715236 556242991 953529482 998660534 514807234 620673200 652305421 602459998 196038585 384981508 441008300 548094230 145530833 369830548 441036598 504118544 614874945 701244689 147381046 390281890 593689165 185258175 793015703 836633863 764564210 590314666 747848306 151561421 194948820 757619069 498857037 286208523 725437832 620767753 454805664 549415436 499299668 468185582 575157869 378275007 533812478 708551005 944550829 847230666 776562030 195893447 291143709 192603989 754830042 396339720 534163373 583771219 120595424 607195428 600964082 203907588 942814709 784474259 702954880 955004241 174572226 438581243 946312138 235716113 452388086 299229286 800677302 281435653 891678132 632338648 939515717 675279837 320897436 613003562 104844569 475170148 614399565 506462303 833658895 483017569 954752853 153004019 430795971 668148034 523657531 183474268 328896098 767148924 611711055 896245469 368268429 957182453 807675281 765475874 261197390 411566128 758421072 597200311 962810298 216036456 678433014 223409940 765747809 672294519 625914617 769980093 740463587 168568413 290324923 778736430 123443978 897225358 314592718 487584448 976016761 654157441 399386102 833211742 580898781 115015752 202635879 645334892 420209852 542207545 989320479 657970120 117572589 497539668 383023214 589389307 826150949 908812172 706993534 869857192 497637600 223555338 275931296 417542316 170499740 991944624 281347902 296474587 356886965 452180046 417383838 552857996 325268808 586404439 724114790 452903872 178363209 683914756 347815117 656530057 207906207 444153838 154603175 332493966 197157515 972388267 866261354 547287835 468254306 725206360 429419291 639463084 750924028 939804097 384014166 871611545 362889144 268730924 209350103 757236823 996025679 802697409 957644371 569244649 427763223 800484889 759066916 321282482 787958393 256956051 227487625 586697952 222209131 289111404 100415829 872364483 309261327 796814397 455583853 535616072 979896939 505919067 604779982 263609387 273684203 785076775 325128041 664724250 567864954 817301813 414114205 728149561 253011014 572363512 420471196 221392579 896805008 927564093 302026801 631965103 566678652 188018474 923308094 636488426 210608909 866107730 681375349 673148824 601347304 763518672 676442062 972544076 675804110 260329648 987038274 870864829 301010053 376344239 542455251 584912584 658219265 566099842 364811066 632567722 359973852 468393114 292463211 680428660 875687466 705387657 762936391 517716381 810774062 492916984 944183271 758781274 881553911 924592486 422248143 733368214 886749459 468355993 249561100 407109543 897786732 255488173 183615034 327183078 398391533 501257463 549184122 915285672 582061003 853987134 365602932 411698248 781406367 710258689 607067032 119948258 838142247 328603340 134594346 473758814 564743144 692872553 350681183 188941083 781758013 625577763 606189749 429330970 377646309 456829939 631714475 224805521 569283012 377440636 786709853 674074429 593131077 940296752 625965517 100451355 813968968 971360354 757890843 191857618 517777998 363853932 340851050 384807313 836103771 215957439 964699862 412679299 819487329 771176843 710614717 277701629 975284437 944182978 850316896 237557264 190368462 250303938 703148013 159500889 123309563 224427343 754751625 380493229 320381838 295308617 393608124 292233266 353869829 127551457 152184456 260467263 740325793 510456513 570019621 500455399 680754673 604431119 623143065 741996600 358910294 152716774 518490191 553994653 951121485 189753129 420635199 166273989 450831159 810348299 322304907 548252087 917090776 910470646 549854841 950741245 815879868 324474937 976032273 831262756 263819276 839614723 635831051 825900695 281151641 367372847 519015058 532488112 156917998 577278188 642605400 941953245 343700537 424961362 837095878 713266114 743353764 808753116 537180743 661915671 368819884 142442865 588058678 265732119 944462903 674497179 242576992 530611818 750714367 337899057 390441032 860498858 560744236 426093602 953732538 425676021 319963721 870796415 920961465 981231413 202622745 382598743 387374553 931815017 467269895 479502798 758414803 466686745 892994661 248001655 290050836 412324443 482958341 686313317 825460191 927789980 458290668 999749955 487735165 847113508 809687980 853531511 701311676 324672867 154327090 557447442 825690995 925461674 963282591 228272806 341031125 106369820 512981752 835764512 266879928 198815666 980623509 226109217 258454660 334949903 641791460 783078554 153031619 971857268 910556759 101781176 122358184 390678128 233270491 293916902 886524087 952974551 319152981 452045563 119905965 876021079 288971919 442784775 993099267 500104539 849035276 622093139 303937565 728187482 658539012 501184139 572310474 786588089 583499876 853194067 666225179 348258101 812287289 943951985 254361877 336291013 373274753 278504717 847343397 689912932 479384748 804236493 402666461 963235158 410999670 208702452 936928218 805926465 487547148 469498389 633531988 653592239 784673972 284966423 733225796 618447309 567015874 283138590 587018810 256682969 288498907 352383171 129459185 869491388 960538853 947692224 801152300 907465114 933351403 572604946 524352561 552222588 422180804 473188963 314016699 119156576 187722371 281975992 336407485 865400138 177427936 275626729 456283368 958617033 909507609 270938531 543087522 977571564 435899413 619890045 440991696 399785820 410597969 638650378 555671900 316801891 716642936 183388371 778865640 110449170 429682938 500482659 649033149 738714036 948799206 134673665 643083144 979070110 927495227 601603336 627906730 128820646 158299309 320510942 933258903 464095002 965017651 308932881 253214076 649204644 699816740 319883737 530593340 586443977 721187077 322179853 205800066 812295144 393639657 310736195 217200209 649223253 178097616 288264363 749828630 972268410 375809623 662666736 757478995 112931332 325177717 378166142 597257985 981940991 327372819 696314880 513818265 841342049 816479108 354264806 189950808 246994523 793899352 558988204 616750856 635267450 330274045 590895079 992621896 870498723 632345451 305419413 684886728 701436481 168651639 841182020 515134857 640473715 839053515 627486171 549668548 679174046 911385512 674840648 958552960 780146310 966594271 902512297 430952364 433478767 892631185 379788877 875160752 736581600 663419962 317046518 719184630 259726277 709874539 128441255 551510838 838180727 225703846 935288506 744780159 284502139 361597557 201981312 546320773 494725382 104119420 668886805 306772979 446428886 785708769 859618195 553725387 571761930 680303495 373707535 297098474 789163344 914708686 456506464 368843243 289921359 192232661 399553854 660337047 887603678 211895068 613813271 736954175 701746688 572957631 566860744 323420968 599957114 323461955 436502588 669714603 377873601 689136402 999997451 555813858 723458888 767181794 506525317 301787119 915977318 101370346 756500415 280048974 462772408 926773487 267221574 899506443 826185833 919066476 219951989 490525341 374743145 370943321 623791089 204098438 311233689 241606276 930707350 937832062 176771147 419560537 596395602 665187248 392778219 938817810 355978568 129688776 844446568 153113770 741985834 419743861 644935893 138193658 570956475 132138709 752440404 550358364 116518939 494719682 526927658 146937760 592213677 384297753 505573327 281123760 401922576 890618767 165198756 940506381 334987074 864730639 778376971 465523341 923351390 348767958 898180430 138292378 545631467 994939057 333432221 743569160 559659164 807509121 834363763 940126684 209182097 177421707 891278092 591491664 756486124 106103877 321549680 555514115 451918930 667864575 870800431 667925466 564511693 394334684 317237167 623015978 673373233 602903499 415057076 662072346 457837623 917428912 360535529 551569632 819083740 563091813 642305776 764520573 293168522 366065429 439670258 199907898 215445686 655130940 124193692 907030563 331194340 831719823 761381617 681156248 795336324 876672535 912501244 914519100 132371512 914368897 328396401 713875385 133582001 995223156 106782533 527618404 125954171 390613498 347229580 653922414 974032029 384678601 555201976 816389644 535146217 568482721 556161852 741971799 547146139 845636807 436718032 469423218 145059911 880594035 207527342 375401995 840833006 191798190 949110773 725957014 794926726 824556086 324747764 510073319 146808301 273170495 986637415 770922837 284223135 431059911 272176903 498647198 905197987 678053293 488464144 843320014 373530324 857499824 577174893 335671357 539387015 993426664 114349876 232593137 810778397 637369565 412629291 727171219 453960945 785079218 319689540 132961695 713671765 203710559 245216527 646886352 592324463 895052089 379204624 638864559 290143725 311842369 337085632 894813051 171789271 292388740 581842592 266969471 473856500 189799909 368284579 242600912 901622857 886843714 870654840 381675258 811128830 881465415 537808925 793808086 736408168 162918191 581092653 388699809 308781828 259811028 416629358 299471254 745014743 135988780 656695098 508506263 912856410 161632029 872848225 336415293 431131144 405849511 184185978 280597082 125969475 555302209 252180629 254156443 881507123 162515089 117402373 380626216 713957070 690132276 391791779 686056153 266632020 607484240 942099620 311352413 772287018 607940321 517745651 343145513 356711806 341957353 587863616 429379951 701419588 954246721 696254541 122763825 587099697 280900820 984551996 908467768 692188972 582278853 782848821 797771067 968849412 443626514 683424981 483976951 632777480 549026432 869181330 182799964 206940392 852713918 519119193 975784238 396846395 610017171 463644144 547569284 459916768 959691395 518952142 874088893 677997937 948053421 497125627 235308842 910933521 875201705 562919672 105321539 138196833 103188160 857987890 448585535 522233586 823770659 770383316 900366823 701522046 242921891 269802602 217242696 144197042 981321555 319543212 656562789 999813265 957319757 344940108 152572917 394878943 917133685 391206825 963593664 866980479 701130432 388092729 198739725 495525363 632591810 237323399 239040266 825294767 990015159 439688009 440644382 247085216 226178365 434772416 560104903 435868285 261224144 278063428 849385232 381355796 308587354 315680917 688605650 141217571 537381879 464876733 355305365 750922529 631582210 280733945 825125014 720366032 864926585 780839927 225236822 244036692 696362246 227662513 213800549 497576486 630519687 308733370 525107981 637737230 553064275 240654942 566260994 485103013 744069524 526489377 762241788 884401142 676990059 819571898 169489024 895026927 840576977 346444702 894647218 534613756 737437783 297842307 476759336 287968672 522308762 794418926 729827061 448249834 994760776 984605848 956947475 667573352 236135188 944570102 139186175 603546252 869672191 348978318 893248899 776450768 591014940 156057236 530865676 145964369 120213610 265084468 562734393 961746898 518428789 541456030 477894543 411060138 119962488 475270043 669130348 305196537 726488052 972955918 115346301 269395311 411623315 602724820 141421253 871606245 423975749 247411749 255864309 321472566 531910485 368406603 461601080 578904356 498174892 361976793 434111949 621373023 802447454 861772060 971023866 302075384 913879012 850483573 477892375 962039630 425928331 478418155 791238459 715962064 853538658 849398225 817264964 857591375 919174356 598899353 240057042 469426264 756931995 536858130 774115379 746272603 230063733 650019746 804354828 867334706 308375429 164815966 751104895 174890721 814867646 257566990 439935735 498350101 575406656 604493127 966752108 804791368 709818779 702916499 423053592 414340682 772246532 181073805 373901651 231945105 154516893 857648065 423951104 154998460 952421068 240251746 100401717 685964248 524215339 137796057 296083652 725103189 893280765 994266068 409055367 305252298 165336297 643889159 688897308 399470924 253169798 516880551 563760959 726882641 834761395 587512350 896756412 115153119 772190979 390929379 409232262 316991438 327197247 800294493 534236434 724322262 830591714 553690001 164876410 297647441 869729703 643530029 475092133 387214911 459732759 787054493 585209883 535341272 483046749 362054806 344290982 942712449 430977589 904639302 112115556 496890434 740062772 843833492 228761413 106515237 377884093 558144956 231021667 454569901 685602146 933329147 244394242 856368352 608003564 766059464 661043917 781997258 512341112 944986864 621294504 278985719 662899515 468709131 696132183 584221924 576824198 939407187 244140470 131696598 496442735 357873366 907426802 277558178 676643894 716948846 461653045 540900570 367790519 404693770 491545768 861641660 414108718 954428707 561499592 553834195 733012293 327835303 218523840 144958602 201292300 487186402 796262145 913452223 285073630 240679407 653055898 895975366 495956393 295375927 102238856 935319827 731489274 469827658 595033174 929443731 312880519 544224745 532163991 590821508 417282733 511192414 845766277 105313280 579278695 248490140 272609033 431768652 443394211 809141970 615170327 928293986 809559450 373945553 326861108 262612734 495739187 834182632 390801036 905119524 350887620 310880435 418970592 388134755 291045954 580888002 371341210 179984304 798056086 925125250 410833100 293394902 814107992 992569627 614807284 618391253 599888629 466485511 378203346 235065318 403310809 189132346 472344351 225158111 881870312 950610768 844196543 724990445 371834235 875193356 395585424 663920679 488044458 492226229 707456075 940529681 578805283 664420219 711783949 463897940 984026462 377413406 200251979 667241481 566840889 858107741 432485243 949214779 274949478 326977688 491656776 920153068 222573050 611770238 775995462 581929298 243760724 626146134 621883783 648404005 703937886 560798237 249388722 874862676 363234532 648572915 990478077 667973072 208064259 326479311 123314219 827504827 372748996 948038953 399437576 192729302 155651327 274767865 740184341 271029883 276145866 859297306 306428839 408544080 408255142 189858763 216025896 844052380 182067175 164828196 728888344 120039219 671210983 292786592 131075794 785384537 448946714 227535623 822319850 370417093 427560602 939043266 437483529 624283282 600440116 794852519 269227496 321462778 189182797 269771188 210501127 715144702 996058552 394167332 773025038 192108541 353036341 879096940 615159545 605542191 163322509 239732859 443459190 174470902 629309092 659065396 825881161 642858184 121844427 755522663 195030738 587400542 507449598 485842339 301295664 211681197 795896029 950297600 319061607 144182522 289069411 902886516 751835912 939216188 265417828 224355836 190625976 114163894 672442839 343326307 564099083 722629365 251478295 809681486 357121540 525198800 681116190 484249321 220673935 952096240 900988336 320909529 666023220 786561227 839527891 589734431 115652013 339361115 194120336 213916404 568924045 770784353 137475006 289968132 615736700 789077123 402052238 716257119 554578062 451165384 941238455 869674911 774355924 678810828 704168852 907230523 509467207 394801134 427051011 321590050 634775675 405892443 229471212 718306204 205049089 148093754 484151215 630616312 411833270 740252724 163245932 171473682 804349172 588879950 881014769 770936860 747233867 931766437 723558146 682888084 502279344 735958341 659382877 192716526 466112120 372883175 122630719 474907041 264328834 730546668 239630886 516763081 814122247 148387883 749969930 324420259 404420175 147126144 792490383 357351461 788043408 929589598 462730756 795626633 503062556 146947220 127518362 552722530 106932818 546826236 604313021 594743140 266905483 673217788 102317927 160390624 900193245 962659766 304152205 180362757 848777220 949296981 483232433 260162107 121271622 573414310 202581524 918164188 250322345 714117132 881743913 475036159 542875189 651393541 679618876 923584504 797774168 578388221 525514247 448151850 430211517 933719687 810276702 751964850 536814330 160799364 950172313 880670112 761623823 642589276 348976666 625068344 440563523 971669976 294791172 286840004 693610554 849876890 667424418 330628731 856719864 785035677 894246988 840626637 224574582 887227343 697151059 255777650 222545920 537007458 570331983 555743853 229631211 441909811 966895816 492543799 401960989 687703121 226779908 485480445 350889649 478510452 460424118 509068302 969133120 626331082 655513326 329152612 299236473 831365497 580327124 975704522 491302961 788922669 538558198 282779102 942097250 971657150 845397749 438998733 454306336 367189918 556045329 563296748 275744689 526326268 103144737 133844105 284586043 118992924 431162712 605706898 113236484 915915805 781264540 455222293 994105450 679850289 459231821 977917950 679617150 300465740 997937986 168135647 450102756 453879116 814819434 426946912 578318273 778496696 927230285 496093754 146398160 581641890 975716108 257153387 415054025 732876007 463621320 948229354 772433857 543361111 226249465 964583686 667539028 979826797 267850211 286303623 862196054 735511750 308455905 740918427 609402230 680747941 835446078 279853218 520668631 242299919 372941602 962515828 578580123 446783988 823210602 718342951 130180754 310989265 634655029 567673802 674879316 406237982 370063663 153812121 339402811 257321654 395871551 804230880 559660084 828379353 472232286 467093214 849542249 900500118 897099045 733053762 623159044 303963511 151472381 969995712 249649600 530872790 568986500 290310211 621639867 808489766 960201811 110322011 235435805 200546126 742124664 177674945 568873319 614909244 885773785 299042268 368670753 833255052 154438184 882120022 615657354 188000069 655451739 191992398 681494838 340419339 661583563 472549322 414342752 545994916 491272285 616006935 841272704 341981866 650794269 444084503 887360071 418324334 172066582 437670204 943821335 718825660 431112869 895821293 157698884 716737133 273204742 831324773 596607426 116421429 644642859 900742384 267324034 794171788 135530036 636733414 857467981 958922104 123234809 626441407 513184962 486364320 875833740 535968638 921471055 215919418 503573615 610488191 448136236 303577707 117124914 101843066 196933801 712423049 496255367 849240217 777428942 723922268 167346658 686990132 599845224 336819909 154449445 238200473 291777384 713091066 929853274 569675846 739332085 283250606 444069104 699851524 504691640 806953734 282686407 300293871 251432929 427917565 576239820 681479775 497805940 195505838 696589998 675437433 642451204 144794701 720166399 318829626 248694279 931697762 262783862 269350877 811273563 472452650 957914319 175121785 308704429 699433240 586063874 869391225 467777661 624838228 692395227 828766897 923908050 822420478 665644963 392043077 739401880 601546863 156375499 216276914 218738449 112820330 281365163 114927604 131204552 825528710 981092991 621458522 484503817 334485017 899424522 641227503 312169781 210031400 582472104 648135655 721529916 743999167 527997523 160396780 882805821 192014698 316455007 156871644 572813598 196016307 926655890 800764809 874007255 361703224 633897910 388665623 991716090 297381135 250959993 616193268 412267651 896796138 893617507 853061852 209108395 901114514 155039387 688732582 116417861 862498272 385812494 535699607 190224712 557469552 864443192 274931351 927748519 414929919 906194662 757420467 550466333 559488562 549535838 873572126 471365330 715055730 606942192 742715153 760269346 551943005 736211107 515566234 479629422 696370540 963230304 627725402 262689696 917347697 795690403 997972337 337403731 522421391 510445555 542221367 131386362 103679797 824188924 502584704 724015783 995865771 100554949 557365064 995410733 828173062 707873110 111638335 190557190 660870525 696304662 797547322 839832000 328176122 244302709 267113205 691244675 378581979 283217811 380169575 249317225 250583458 115564679 891190035 104431088 234848038 245031521 178403602 307348172 794265474 715657333 331216379 163847984 901209167 465543202 972047750 577938216 616211947 674328709 862360792 557423050 383802239 635501692 609187183 138261750 515188529 675398621 234720166 791368609 586199407 694994127 281150635 861418659 705998257 728113667 382987325 145540552 642214265 171535709 447743614 943259252 907942112 406043209 262835944 394779081 340058759 648818701 376900440 247078753 494662755 319575472 632955604 482040982 548794025 192900734 659031657 123531116 968634159 626805750 678714332 402443190 281100694 659099316 224818932 611436148 287322951 868657320 666866778 415093974 360750851 628559165 674550148 289128696 343686439 584878655 138221157 872853450 637968510 605059938 804254284 272085395 825744040 590676633 576763006 211614424 845121293 700560974 993668012 788816214 873622822 425529979 785555184 799759596 456488743 866683822 235634118 117138062 760393312 857605205 527638742 485179102 879926990 596100222 587688562 605883649 943524364 393148385 467170115 116443986 313276208 180020015 194458924 191803563 899987881 505718478 218110043 982354147 526558688 540686500 598970605 497679132 197135052 451744747 654805822 477355314 220266285 609304207 340176352 569329973 949981543 696126598 705455371 335964084 683147048 756884298 687379412 408385719 119346102 171729297 600791476 316829589 351950108 543204805 555085484 468122359 229774939 285270518 915730588 136410563 246937799 652434764 585662629 546501686 502461742 191926658 264878685 948665865 892880105 726085419 924083831 941226883 832340489 694868870 736933826 996326153 367297651 178470428 232451802 301888188 740814604 299844959 262106006 184702354 740901258 996365656 324865758 352398206 385383909 442057489 836852043 586476139 661953831 873325280 506052212 912322823 994208591 109619296 271274876 918657163 218237060 914980756 739918682 325142226 986014545 295140520 623873616 986534066 735104929 591580546 382327826 452970483 281163821 598515576 101337325 729723078 407628609 601593737 531692647 380415012 790006463 675090225 558222006 756401350 566203202 725944680 427151059 724234720 616157711 258611941 959133117 327815391 592947123 408650486 347005513 808111039 912202428 445777956 511886954 298412227 246978191 368375866 581898235 230301867 105079703 830652165 804004926 426333570 310415669 837762155 667073653 302753122 505819022 599349417 382834330 353584311 845865698 206650649 552892153 782503840 483030694 275458227 607720013 712312593 359009920 874830672 910057620 550841481 204595857 189825796 666149648 296935732 578764957 331808141 480721014 637492940 993264567 498648087 326433485 875558999 967560795 802353680 430889921 658371464 422063635 526342886 302972304 970705479 839326219 487724501 345297291 388502801 135334024 186796434 312056520 115422602 454014329 933299182 121162885 817217897 172496847 978910798 881053446 270924472 594928020 260960953 300798079 731827131 230246017 505790946 296911827 115388350 798349818 937257722 614435258 196911935 268561480 278242324 568087526 180348450 442938529 367769670 528842147 289820704 613384658 337922830 311630870 398462622 586726053 863654911 509201638 974585740 739273244 137513142 918727109 440873441 720295538 205084273 421647960 884653429 379717318 326312893 161993872 263172175 827849035 501881698 506016565 315850029 910827305 844856417 720678691 180449660 267063201 893590857 643820907 283407435 255171636 621068514 166004418 661548335 691216848 341588899 488298154 774030602 699978743 986302710 891147528 968936283 898866210 302930811 758596800 907051947 911128073 687282760 786931372 773298276 175549890 340456874 859997797 387759869 183364360 629488360 957657858 483913902 943311257 237335452 815787143 273925391 309540261 476431543 681146888 585081134 794664878 260281779 802440035 452564503 622562948 650879014 942475282 755487622 410127506 516893984 918757856 241625458 514183191 521280043 272128004 721053676 571053110 983444619 429564790 199842518 793641707 417176957 649130259 142730625 522090962 732367745 620607886 871412182 416201064 670852917 332714280 138159624 829598256 479871664 821601773 736667111 899256123 212271877 248641555 973543921 471675325 374431318 158742774 604088812 281619104 512609186 206653717 110322626 827166370 959033553 848589159 209907371 799580455 644614616 583836714 301911611 289567495 663929082 553078777 697304413 948007173 933728262 329613933 790973669 805248206 869331827 599184067 271636410 271839722 700233835 662830727 896347788 685002242 512339897 641089983 887027250 981063373 612366922 725786217 310530180 815676152 309616503 456982728 874211026 219389504 960978053 157010954 219400285 873274302 426722300 210207613 492614701 850629545 244169846 993091119 377095787 475978123 578447110 325121200 365840494 947730126 969253757 515416684 225176731 223745275 650277377 477980900 404240331 383554167 313749736 539711161 498466089 151713397 804867046 439922074 173214986 199712603 233524141 143640608 205637499 273866113 457457570 814884519 280140980 510446774 734820654 838146735 638825966 111811013 112265538 877838752 746334846 800811858 409325057 235107585 916954905 321736652 610278153 387318933 950308945 997793238 523306734 898850884 682408443 575661135 269107595 480367355 534419264 444868687 475846681 793734917 698104401 518779204 831972273 350318305 776473665 381400392 939857791 389754238 638330252 985886324 960435377 701421453 186536095 571320131 249877380 131783212 781039883 219365892 361979484 451139549 724359505 319998787 809880998 500056062 868384880 814357437 214489351 752920414 620513436 471003881 441505469 759088778 149735413 357929719 580301028 342996083 658511425 892420108 952586966 636835593 598679084 849293853 416224888 141746543 785101492 644919214 287544300 388169705 505631845 747046753 411115679 706945657 683495187 656890464 918501811 717808549 608356703 567586866 816409287 320534920 564177019 243917351 467353764 755178238 732554286 756909369 432265924 249447559 201457630 366968204 671644035 698079053 514636480 377343695 104279997 984393527 357448483 666103704 157997382 442327511 734080120 175786295 593169952 810047333 982384482 479471875 322457362 204654099 887337159 215403540 542483109 396975660 414444333 426179755 600118127 125531182 388857258 473279153 120956608 264817079 964264397 185797150 911993046 557685642 939064818 295652462 588054112 790051297 835313404 776665833 684194128 891292905 360270390 259941271 588656167 531831264 230998909 920779978 145296168 829716103 344133814 226377429 601972980 173375536 866821568 527402190 787397944 570295223 487177055 862208159 473964293 367742241 845104835 475571509 374013139 885820497 293265122 992287323 562686220 958417163 197707001 125167090 262583928 180976320 877390011 688236082 472579386 415166404 311693056 597093660 356292794 201636824 449127654 749370393 939082622 341159414 187143128 721884619 244578997 308707026 352509489 186893181 610349235 307592547 473052371 733220603 780485862 301900570 758863447 752715086 141850980 460849451 387948931 422504510 755547317 464437442 411298687 909797018 390935841 974951616 566035466 842536108 996378914 262899831 211020401 322985048 343226434 175961771 933202676 176753145 896985805 930069231 301797216 333437209 768306263 866823825 673967813 704844419 767714255 747373916 562538730 369291225 761527975 488442182 465203012 559070028 253164615 941007555 514283404 433640572 362501416 384543295 856080000 836895484 465444976 979022172 610521790 469618995 131156120 398534028 966964661 905385777 519253959 165182128 971401825 949187109 981552533 192785020 914506603 322509368 668729772 908296831 313652443 830842512 234277853 817152111 657466918 674688658 368786537 375029189 738341372 698898995 401074897 940248335 742234371 670772949 905210457 421708307 817511702 957241618 783496412 490859288 425419386 507793815 978308191 686921434 301811612 474334252 558944157 347252690 381202653 342443627 113651055 538512283 126583092 571314647 628951109 880310710 852742356 482811413 530971652 398923802 531213139 300674708 851392342 455162139 939947687 473852237 196662995 796724586 396011093 479175913 949003376 641135825 364570189 278403848 405209156 852199945 109304987 651535850 103126479 982429109 951640000 819439548 284972791 625243242 417268471 676354381 623861163 202828731 596914873 991506795 553167212 266810973 481846983 660615260 772588562 681775898 895201302 303309853 437070211 420495931 438819935 817355193 582302702 325765926 984966688 867395694 195591634 918092330 229570848 350105187 610308973 594783225 900601530 837638600 838881051 858391209 271660269 211476911 667842196 960788763 269853344 388971445 207372512 968090392 802813789 280308964 941160727 432502675 559049004 890636100 432036739 586762083 283002450 858957886 663972373 447028482 240014107 324062756 685718308 270178566 417290045 251295133 309018919 370026804 985989369 173765300 276842826 352736530 986457633 786385480 683444554 842115377 255748548 741259447 746945950 884891212 771088129 142881834 370484529 860121648 932085890 934351746 567832729 452037154 385512964 439084515 868549258 970876515 103347593 369041114 623824760 769313871 540531742 658116489 939019233 351227781 568968666 125534475 375407399 490072530 431326507 158324624 279522222 343298011 511048598 475415290 716699905 955254886 689982914 924130706 337838263 849587846 992868442 226249325 792936577 583337586 416272103 753185522 129179925 581986083 422131143 363659138 603633402 933852030 165962984 146872436 159793834 141623369 904094963 719076498 780681228 559258471 282699133 839415970 178488702 635919557 209661403 321870809 738101150 659677712 297356530 360792562 201541312 593416252 556755304 856176078 218004142 946296735 816316844 875677756 461812764 102248705 133279101 162761987 579790292 834464227 677305536 496004650 125957291 656055901 876556956 653268397 790834089 918933410 637944492 750787452 701363270 890920456 199998961 249806601 950010879 921523477 301558224 901589930 455519452 186622886 483747628 587876099 432613009 105220765 251341271 446383038 436882353 720207831 488415574 730181326 352155039 136826941 288086674 323255856 769428952 196998375 450418180 212918046 610661690 370043602 656855534 957073505 265556825 489219113 709092427 241746061 688403516 761368893 227241886 634412808 783673144 867983014 691209745 581149600 478444138 791898128 344710521 696555043 550697319 467288737 379058275 120653001 122424506 127085917 649958555 617270462 993394029 251733569 158187711 300751661 162386711 929447505 371989473 106926061 764159209 198780265 938795000 885201812 417490219 973355777 405568163 776522669 877213037 158786708 602420075 558078531 449824936 926889349 394470525 700016836 458819259 790672647 340244549 889051503 637235831 514210330 622055985 158833261 454926630 988959310 506045653 239330003 404166730 709853568 779002206 101263800 966756916 145699943 209055601 741311815 490786750 183089288 755696092 334308323 646388902 561834541 117029279 648448026 344402394 320533612 783952923 969340908 882751624 869438902 557064282 676990942 992085359 325986738 577037592 714863422 729059364 817185814 408358829 660773370 387813650 220866977 837649422 569460997 615819379 903994290 306826536 880399775 260903589 482104420 822657280 681046816 387049153 842455660 388704352 999687013 233041009 436501077 351866414 748074106 225743332 642870926 632330725 380972115 647743588 118783646 643279207 852342286 661559512 429811321 319693826 638147811 640825494 331927960 500104495 400743792 689910049 887264251 518446022 540096938 721685529 476425059 246027603 938790980 714878306 308475714 963389675 374717093 419458270 636192471 874983614 731354981 383883625 695953260 823659062 806786386 946140889 263031145 799647060 948131719 132272404 846797288 160747166 200802551 234243301 753577092 313960453 680466779 862466027 223036860 974338869 716711182 919104847 723408151 710621315 239031355 505967222 397470203 310454164 379646295 996127526 202002307 873910253 627116738 762631915 305153334 425885960 699679268 150466085 283630615 423926422 914968183 712104577 981875700 159320705 491269160 783611197 753098371 763268308 959869579 188271326 414860431 132174985 340447793 141871265 344624917 862834815 605409470 403886179 316820120 487318434 702328520 444624030 336352041 951580719 952267275 392119619 714202486 943449157 498028071 937745365 174527555 544955457 664362682 647323710 601700081 355295243 358566770 283560556 906691343 301009035 743927696 518843493 984548217 637394423 953160333 665275890 148333124 743111276 796527111 847534674 492183544 944612679 707582850 225653700 629898266 955589620 706712064 982938107 883385912 580494740 139821843 857968628 463459108 746485713 400020903 667317755 212357915 292381899 874013857 322288807 604322525 285548103 989027162 773359844 559886045 699054981 914216556 279784640 716845350 833683225 149877835 993662015 256775298 153197176 181412443 358819445 611763305 963228879 692042712 198701685 635476835 992399670 103142250 488684922 387090940 970845617 119524933 716190110 827484012 954117703 430292401 860334906 480940969 478882059 983781827 652142730 669104427 994171723 338713837 324789347 249481497 332124567 925105141 953258016 677330021 607041993 632558606 733229642 750694182 168633444 941269042 706076609 584446735 466916710 587507404 656898982 343698498 483265534 832190709 626769685 190827599 731556493 250325599 554397321 805405833 342481982 189768810 482394799 878286531 613296276 157978663 941638488 364308950 854148185 172648621 362167116 707426636 944389046 133588331 243073153 591674983 230211743 994967781 996568084 458613650 329576844 288002313 621207883 943866582 486055574 863404754 997572510 716824475 644992102 247981712 901983623 307871792 888244851 122750072 794831281 709801279 645074915 568673190 951956431 413553857 473408901 745702819 422062889 552510528 487861621 630136107 164478745 567600134 464725456 886823340 427586921 681957686 860512059 465831060 364604400 560515574 871241212 192684530 291249114 590655580 958845001 195066092 739239189 676027520 666549765 888347713 501989181 383640964 109484247 675442095 571138736 424499894 265388476 276174282 835483792 154616828 526467836 440205259 432975793 416105335 573064606 501125563 433068065 371756375 718087234 673600064 700674142 788840708 896380780 897927446 927370496 309268033 501107284 234352970 751470906 764727937 842821748 131068438 326810675 871909035 540388449 925647247 929310747 135856107 379395673 730033439 255670545 553983899 797174379 769590163 666473799 426120391 771557150 713365527 958678811 638927957 890924462 913050326 845442345 312638977 441884403 669033882 834854883 621345985 482912625 692320745 336949470 808433891 640221533 767700676 523968492 346293482 450595217 330359193 673931756 817699114 463046651 993409130 582443277 190354641 688664829 647985938 682258533 308956879 451393638 883787977 628622850 561129933 999125906 192914622 661177651 676314673 161219052 166151276 249337521 208565882 574488752 961538638 839465281 326637422 358471888 609972936 282460031 160894149 964013861 569244977 468344566 800053720 854046465 826737919 709383871 683617752 224016459 406804011 606774791 383642751 291385360 501118478 476641507 815775771 180424010 226185194 570878259 886784659 273151672 330919462 665946844 873338877 784493161 594096865 662108430 805279463 577388794 862649905 569441270 127991008 922973778 210733900 880007762 467699014 468237941 769464942 516160308 872338839 175349701 615730707 613955921 110403354 696432443 524486717 419751853 249580657 452523104 844954751 969501767 666932460 710330206 262190554 679413095 704142239 405320457 326533154 113442820 199797419 318347126 361737824 808383572 349718657 194770103 818107901 865050215 937219336 467699533 270931031 934359947 385439328 623996430 170159337 954034352 256968263 952544517 808225366 527231420 353087054 321857618 865110214 659031046 638108938 517008331 185011777 554220818 548889876 904404834 970607897 185231474 585620389 811757148 465170197 249273691 194560835 616212003 706897126 662361785 784661646 142658423 820685999 607239928 896651437 415859988 879699892 217384065 508468153 996330795 391465457 218793624 188324757 245906255 107785836 350741734 229018234 215102296 165127114 299220211 989979763 710714304 204481594 464861584 745669724 601169537 206937012 395617774 908544678 726157589 152073373 928923808 315275598 768697234 127801486 596647854 233426881 940988072 140540438 873423976 222096820 670746971 805459435 508758336 329210569 330260773 270614175 313088045 571415215 937870846 458932373 701724931 283161726 758281629 892206371 950676469 392936178 824746951 869917810 773438800 497117346 222782654 270681271 189708483 539641263 248333397 806239274 802061630 442183507 691210952 235546756 355838416 529597659 180689728 696925586 127112655 997793870 290213920 457343263 232506033 407788854 298349743 448933392 235872500 251612650 462283726 345810232 606663142 990554423 328985572 441213465 130040554 977427676 166368232 953845862 140435427 470152132 774882601 741721030 222941993 483695264 963774831 119820501 387862294 559828080 244060331 184971951 965959677 566251349 902883244 383213482 844200427 785956610 957534425 544477080 843219059 147213288 919933250 309487556 113462124 107330951 968837607 664022694 318075772 752891903 744633893 750130013 948623874 415694285 567381423 383331884 513827047 363459271 451930834 293257612 820206353 541972214 495408030 928632069 801781820 165214522 526913335 741328223 582156238 771331627 473033084 896253074 200012371 436137438 178393937 108209246 942360125 919965954 279170315 380530732 720299369 820807679 494553071 822777605 773448197 302189874 653101719 141035322 381187516 119675399 132267690 941538335 413326135 507148770 456021420 374072861 195769489 224923067 637123828 161588681 431957794 935758172 418402140 299779286 936945180 395429774 117497578 358556660 688923524 999226370 917527858 264480736 466210525 803204808 431631683 443163792 432664225 565374933 263691486 196205035 916811052 643198523 178186063 729642184 864932427 349083882 809653784 396994273 688543182 539361023 241179786 357283087 565729655 383674402 346171218 402116339 688952405 199321257 821489514 633255619 388078461 759839821 887541437 941553940 342810860 316852618 564313056 365037677 577098328 788342341 796355850 675178831 446187136 841080790 117761218 922258242 806155794 845024072 343898103 761803939 221438704 636880145 575457934 778163070 966660748 533260066 386222053 354577137 237096180 946828948 895494667 120103854 586049761 194339728 733220783 201361326 831826235 846273729 550897263 840104257 719590244 530374321 414304414 384128300 609563446 437119265 692960625 906393307 175177122 277250493 921705412 303552245 226922806 309833383 824372067 936552644 950327057 295680876 556108700 722195809 486657957 384126096 790344642 608592082 181906607 488833349 206178777 839955482 786339041 930151595 594818798 738764029 837023399 563759174 464494596 991575079 525500945 535048814 342320767 655596667 512289093 559473500 718453333 704582820 672763748 146039627 986868752 865806689 785008777 868202989 105556541 145300148 214405632 606152689 642727406 579000264 540489380 117311459 943999088 793155646 510649352 159857216 505495549 912990172 950420549 616142507 947855291 254020820 349798559 789619718 638454520 938950033 932701001 328078576 921005667 784953616 762961242 753035078 191446266 252655203 191679612 382891722 892279774 663352447 960303890 491051808 499565492 956544236 789387181 161722865 923565220 777857014 902404485 231353961 689399491 857778714 609121453 139119612 903281148 169270785 626605173 424047284 923809560 119041357 772753030 115816129 222141563 859360828 607429969 231324188 916907031 591355307 905788156 688834892 852469680 117232488 911589681 193194659 563647279 884924958 492805560 202354442 859908393 575754934 237143461 632134330 847237684 266615318 375184989 159172213 487195416 608299079 409460314 346832742 280749682 383463297 169754642 576796487 190898764 525980590 429541618 201762386 541879270 145128680 242744456 791502348 716147550 478837336 903345419 929944871 490840804 345972407 594187821 153452664 552602521 493260519 719289425 198130047 573608485 698783885 685058314 467117912 706768244 258955709 934016884 730054242 607646938 309037971 391099873 273276965 363970915 367584202 169557460 284288613 835722594 322822084 875625254 207904406 261352273 249534170 992957942 658859156 374883643 252599435 381596720 412893086 449732529 303760614 275656459 631670815 396821905 801882571 775066370 681866872 388211548 247317521 587552201 459138520 373415932 482047439 789668410 689488380 105536499 360161264 202585209 722930363 999563635 339519076 588217448 267967910 191886616 840159219 105259846 293445311 393443919 338975640 305521626 696976140 293840439 566446011 594375734 276247040 229708625 532590823 788447478 676724239 551084709 272056072 674002993 266206925 437797275 453218776 803947192 639378676 239366712 387176801 525388945 830410330 291228031 311053175 798089763 182415100 481089989 653923584 727845521 393182816 973882402 576743407 816718996 659174138 947211410 114691525 922331960 856500782 991587714 917590341 781815088 186539846 287480578 513068120 470235049 725967184 903613689 827686236 417638473 831115924 891178583 119954372 854564538 945348549 654730750 364641885 421281032 561615487 120491544 698986101 366726787 724647259 333554579 265164350 945337255 810932008 649032935 324108226 776548317 750710289 765310911 736725463 245013297 647529374 923888079 358809938 972848737 166927740 749020229 303675639 130311404 560936384 203366529 720665218 179223674 508267851 608731918 906612305 995721261 977705782 477101678 321758319 424649451 122814592 359845164 149713034 984401048 797774939 507685483 150147536 210977761 963354881 906033578 315699772 674627832 693632397 449225398 957190327 870372504 979732624 212334336 361740306 139895448 601707978 566087511 303683600 483606600 680812529 953141797 965609085 954882259 217468169 920032931 650876164 630660185 382830702 950919049 474195315 312750605 774365850 728531175 263579527 413615549 885156389 813007708 380564760 743442424 552519069 891074475 153796070 607921039 776846142 554132904 487521595 420365519 213777841 905205019 519270844 152094074 292660607 484741011 993692260 732547770 855341382 225463551 209171526 387123753 970539680 822121917 260981746 653013046 841077598 934821280 297059369 325518994 134245221 715844353 520148110 496081470 912478151 856434646 534997724 448120797 519017737 128885561 792006809 235534714 437043975 400276947 725722327 757694222 658464314 338288248 396303824 663628503 442353656 307088554 993698619 360884962 893296832 907096273 915453864 500677516 398947045 900168197 968162523 207751170 521261951 110251952 708444763 814536777 661063046 804925267 112672004 839975145 125842145 257942892 995131131 727630604 473507903 585220034 487800241 796147676 833625209 381183925 175251244 359839070 281035170 428493671 657060408 499263911 626420809 330155646 147701816 630536850 924929546 639982944 772071294 223969148 640545687 238539819 300317931 654520776 814373190 444172922 414225973 507807435 306054404 462387937 791778802 636192722 818504933 198871667 223689612 843769283 575802805 790632575 679630592 949671622 777597513 994824636 796397329 944901578 838263342 988472346 602583084 572259645 825749946 598580695 430222464 969761055 516584730 612536529 583737016 930021032 463110471 270440114 187899159 238677601 547510288 105002440 200882332 251625181 183169075 101201341 330173998 243504349 589521208 890569037 729782294 175029344 662113060 529106452 420341827 961371603 398808723 861482496 558534763 270334987 758102046 164301909 153900658 108692748 935915512 849103804 182889013 831002534 594827064 132990490 683027092 249193544 134760870 858796205 961270529 462910011 814018502 306773485 779990646 484480574 598469389 829547075 687242028 445095668 143448970 282940450 690711837 875666591 107874897 802889292 160664135 770912500 582472172 335661316 938629241 328055603 225770342 546557968 635929379 826613132 673730914 175543259 225119744 870272697 514972481 409814736 607932095 511886002 911590313 866456197 729530388 456665486 719577850 385567954 278247587 329137611 262020491 294172617 684083218 895923177 288964219 508603817 446824844 776265469 196535405 156250475 305255170 869431586 963844674 344244306 475684405 462306100 931911589 264960567 335759991 299581525 763173335 840040490 581759233 231999692 255784935 110223248 518947315 481194353 499264199 334629877 773827249 777424215 620287645 142580253 376821389 939635927 355071184 419539944 513181907 793270579 213039629 863034117 460313493 402293681 472868695 345078623 281789647 321958184 263894492 728772270 365320040 779363021 735353553 932855538 310494554 971661729 222222699 688152264 375175357 941343980 303433675 732671211 957874781 577176913 998278726 135835201 669523444 561098423 661822625 881445958 104610037 877456223 695103116 850345889 457969259 575150698 197423820 971191958 852429954 427746675 675227360 464181366 176428370 374389147 816335467 652910962 170425776 340685587 178118220 491893331 340332860 797834539 542833578 488803228 991690796 213821697 509699420 827583855 964639392 993512734 610892088 143814442 948959341 772519888 477114761 272441430 442529382 214660638 984519238 300090370 246484533 884791649 957253039 191413128 506632510 281985436 867392051 154244542 547129750 468944954 219494038 323585237 314696056 316627407 290595021 336362192 779025899 150999962 865128365 963498125 143619041 603594883 715583133 616260586 607397244 916769820 592720774 873368220 773254231 653191347 639928151 871452474 916862048 344978356 277160213 254234512 107198336 792983950 921035615 693100921 805752669 299309379 463324343 358411476 428119825 941210804 436680548 115104450 670057989 779754400 192071581 336163789 668216891 398383314 451439446 391769893 267309460 399741382 634407184 990344372 155978344 948414120 795944397 482578652 143306492 765971354 262095365 465139226 649964164 337326232 759658212 319848097 212972324 771914098 646665651 893735050 292250863 944458099 936348369 709684584 580414790 449315825 859376267 888115282 336682451 182222036 719549941 686875284 866652648 943403122 867590968 912622189 730315382 490007286 236696713 645587740 177798559 459113043 387634113 533408371 253796435 255907422 896325280 847506790 804523803 339127877 488155374 519441702 262331916 762131686 520508155 521336190 696254222 325251425 917864953 317500019 935042818 262366526 793328732 832330879 968204440 269287438 747563201 376004087 327268107 492085419 596927331 614265055 732371916 949263523 183226562 655240487 175519961 495403224 537591680 341388735 978168046 214621302 146531434 656183578 955665885 668424938 219747972 683564171 432445532 712464358 277077231 120648621 795293848 338917651 101923629 687676663 492878454 415275007 704486997 445766632 231996027 295219611 503606924 223029597 279569585 123425364 896231330 746440633 618897801 639026616 786704371 541882786 466976488 889060869 192922481 668361808 655682578 630699977 375793138 626415125 884944898 446669598 941974277 153171101 642376259 257722796 735110432 128082114 369537011 845841129 302980014 180054996 968966602 370134662 273133812 958727064 196068913 854905616 333792423 402381619 936452640 712622810 637063592 486290306 883075594 636161073 609701237 814813269 203238430 467653310 367910833 565005243 144785247 250765770 978888919 541881936 929858286 969287809 929079098 485598945 234557087 267637598 464342209 215660996 832525783 133724411 232369189 405078642 516596392 217914165 435458778 812042146 472572567 564173650 573147342 902518084 582068643 113307812 687588855 777617532 829399601 240906580 168560280 762310799 793091211 424310141 313071560 878470192 454814166 609596186 121727186 235655324 575507250 238913321 377291153 263892004 627857909 768573288 348509743 116752222 800859429 129102067 649087538 617563776 666058692 620768040 296447011 885547298 345462541 116358174 130267205 293478510 706031132 539438815 543808080 655679520 297593137 108852809 186853025 543867697 387648364 698179627 323275851 785980681 708205097 547589035 125571889 871911666 480322345 499813036 692662755 703346630 451406488 707526348 694977570 806633707 509154767 927772620 915600204 538044814 736226746 332314432 644970633 286738389 469617698 392133734 748513828 976882237 776719557 706504874 909895248 124328198 173777290 582505698 828547084 623564492 696710549 113267533 961561942 798128583 544116783 330667610 546833365 329075263 362284761 852619843 690243094 536363892 297766865 921249713 221550392 989094681 243613434 211078692 913726005 628677340 497564689 749556972 590690766 138013183 442131805 352960363 983327717 646686673 354967500 535599490 893814981 256285859 767236265 626149780 601307226 950651678 587652895 549756066 510238510 159520522 438901155 451828070 322563730 417509761 979225032 169128856 594679231 853415729 361601781 271253118 947889786 408932379 707858992 990644953 158888502 967088665 456680720 971742259 752276357 940181752 118689471 374918343 607995592 522265647 259162913 284722991 718984129 923897104 239449443 937643752 442249396 441536013 909073316 498535961 930466306 652721223 297120850 893602439 852901300 881813851 442204150 738245014 803202569 674594194 462911300 668427429 538083305 948481425 226165281 561596314 437310878 846102600 536078458 903787985 238476207 954004582 985069689 187381518 939280399 887819591 864545586 637014887 881148529 739962986 217278183 388015299 984008962 380427662 918112537 949903870 423495399 820848491 801828433 697639611 877342334 209036394 373146541 433017040 883979219 347350831 943294245 137917142 633570074 680437067 609386910 691019153 878621563 643920909 765825734 395727364 369463864 754787666 357689215 247856286 267667583 316329985 549698078 155931176 846412038 858455384 243811732 356812409 590795034 171825810 281994635 351956091 270345411 271361736 980266456 269544622 903220509 682651185 806986016 456196725 152247168 963998801 240967301 741536419 673921185 186778266 702686923 223813382 556085473 552092858 552324200 520138449 594766419 104351056 936156987 216551956 720338937 548623164 359298825 577387570 874631804 180634007 863384950 295353769 654995355 191908894 985277336 497187783 905184258 770867009 900456172 986024436 984037256 892862620 872937328 260447789 947740745 365381610 610386437 625881109 479064533 487721849 639767989 415349723 343614046 518472248 347724909 785708710 938897534 278228013 181862725 492911587 624145987 505698824 645588106 732781467 358200462 458240239 233277128 440755784 436549027 196366331 377566572 708546274 218590450 696032857 616627294 612782384 614272632 548436939 603226603 610839556 244823272 426695831 403711801 704559499 251120790 303380552 488938133 726415567 320883397 482001376 725340543 352978670 971038963 642698430 923165968 240311801 419737831 795478438 671706862 627816755 182211986 779573289 200579149 469508338 138128150 705053011 795376665 508139767 129899746 718509750 144093318 539619576 439284684 166558671 405748660 720990020 166498988 287916840 668616019 652801392 105972504 942737822 141546460 812584508 956711394 766152831 203758197 898662456 173658326 853119949 422417306 632741346 911923844 865872853 552494286 144618443 463262291 833805767 129790138 112755564 837921719 449305023 864574301 230412961 974886981 279213544 421774935 245359140 257576925 692322285 306076332 119544606 590936701 833977476 193950597 916762865 233187703 535110981 732996038 102754488 599620236 579136355 770089218 537398425 825774118 415493657 853471215 301452451 148989287 717477511 689020227 550828312 465285135 977816998 426416605 440102950 359882124 365454539 286807825 811156900 332435337 475217229 755455092 268821057 885416139 173355160 673019125 152800643 568544046 403817704 599787041 865763584 432633755 842842547 480796936 639997204 853530838 907582910 905740331 915591870 727754772 712139783 955919925 253338552 374620659 677402173 347503311 808661941 330978392 294525093 694633407 881025936 192639750 975672303 465380339 479826568 402768293 277825415 850588017 955731559 657548792 545153959 453917950 454667626 563995504 224921907 382740895 783109506 335426840 345913579 561176406 758519453 869769685 291872727 158920684 710251166 345148898 340720729 676031486 484773303 285032256 829556421 212300940 673792909 682418210 371832100 486991305 245571652 499539729 455693909 689821054 380754083 504958811 396981615 602377082 570237481 721939819 856118855 172368122 559856863 727635243 367642618 500336794 783111656 730381489 339761030 891064991 530502945 104137799 320235601 347510843 856234032 215997428 126415381 966252185 589274638 542619845 548598731 942574529 286726224 573725502 331574162 853363983 419993102 179220778 694546067 269219721 615158499 698562541 324363001 359050057 976058687 683881459 171149833 183733961 741802543 672783614 945843098 883348554 153117528 978715330 567062073 692313939 774473496 217523552 207613258 887837683 907014643 272712544 543435565 579703124 299742578 272420652 314081132 790893494 860922802 341089260 736502954 811295112 737966611 284352206 110008379 778990282 314533669 411694662 162303259 873889876 548392600 316112902 563604262 375703995 278199286 627775760 794252711 747308389 844245528 587331312 107650574 178112681 625837997 213834699 747001554 902643091 579617822 538549969 413000709 921658943 168625592 642694465 604223496 971876581 215164899 764091856 851393886 518945778 765472315 603243816 273058339 894018932 110584538 230717319 559455605 636086312 415555405 183278039 394313567 647860049 930671362 456975519 876019049 521156312 746664020 823136488 414452244 490061063 236241219 363087620 768201538 697594017 561313974 516624886 433956993 530891255 584645373 472723615 944880974 387495298 732202571 760567159 763908821 658945202 493316631 460640966 710736020 601188242 649438833 319381894 245227961 734881415 776472951 432651739 517863103 784545369 253946821 559209306 580445994 890752766 678374847 399212988 590864983 765001390 771211441 638142077 422240589 914358878 978958358 268365155 572430618 974815320 605753668 682593757 569650329 863255376 731571944 921169980 928403475 412624717 798438341 141418255 672064497 117741618 976441974 328789533 328757468 925362582 525230925 316093321 252969178 535968650 567607584 633181233 556342269 273685002 141829200 141427694 406547801 752031916 388625745 422677003 410880708 659626261 429157523 127602803 187836201 926211072 407230410 703564392 575993634 838620455 842991659 801145470 694088244 567319767 697050827 221302181 531959996 752964263 399395045 865690716 665572214 103743546 944221459 787166519 291504550 211192978 541175015 219404906 988927758 304210695 646940035 729556851 637490810 636771333 498755515 717720979 205136461 291070263 692900042 547368430 267496972 340839551 356980642 744255496 778681020 694461954 961713291 817234613 342559790 390896760 502508395 321243258 250615040 932325362 641188739 124679943 116824068 659245134 745411695 933750176 258539411 732203437 734364974 500888978 329503545 387731241 413751164 222238815 260280710 665415772 957862187 409087691 632437511 945673936 964714425 375230967 879113386 482570041 993657704 795193192 231096123 109018957 268402405 190537204 474126823 267128413 291808805 566609525 585675330 862002298 259099495 122878727 931491979 344169169 143176328 255135156 370515081 334569135 613194759 935043162 254493248 711137510 881257593 679865878 743219942 288187603 353873650 478862122 951235119 118386601 132631057 397879002 704805547 789248876 379974553 511562291 422570172 361342197 323225003 795812404 462847779 958909670 470138262 782486310 206052571 579473328 315190130 387094805 489849286 866253998 165448303 951321441 571796611 223121281 408807648 784008823 134088264 182302009 934494481 367727549 308723015 606731061 254088541 118260905 340218824 322107818 842941179 378929082 281093867 665524072 163235792 337100150 776190589 798332577 220408971 342512685 457442170 399098811 352146719 963429963 547317481 343004741 456744417 529823932 232086045 140985880 201301467 628858329 695898971 776285619 315858134 297852682 815334058 236164203 626985023 980840848 162030361 501460660 204255964 667883154 518817171 760781964 484587582 547558558 439039301 167645313 408387940 157022577 413578359 263865808 513903551 144054580 912128035 777247164 643798306 130132087 365312945 910296085 456392941 545479226 960953790 238486309 855337424 403370610 776207900 347227373 584915696 444127599 538564821 942016555 436654400 173542366 486387667 934371986 843982977 862783897 596379021 525096376 592362301 233873932 462735857 684509125 661770007 996210938 265399268 180220558 985006014 888816379 224225596 647381350 102454258 601779721 283877305 326815994 555489186 271946335 971207430 404342249 833508422 629574127 360995950 473342996 539695946 891096583 385818048 338116755 489520636 201098270 581297458 785329155 563951023 913330886 432321109 814968703 926853356 470115661 400823901 702224114 846182621 496616880 774099628 425784414 477733606 305214974 543826015 518574839 925720752 816567907 723335902 968257028 982028937 787619818 291517968 294496835 605280726 413957538 168016519 208571152 116802499 203650093 403510128 718673241 526883084 518688590 489598751 197084837 986721159 894484703 323728635 231551459 672049601 824623433 661287447 890304011 968400004 688366226 247497639 241253602 110304863 161484985 572788064 418345345 767073876 669267196 283651786 365760157 150888795 772494330 456082025 608341660 293373128 858787719 956589383 147556248 243076748 587967785 248329399 624795515 994211799 562217338 947432128 755693623 349333668 117756912 518773053 344546531 598968976 142666350 960810195 989537927 740429622 232229451 169804600 532839686 758186715 671921261 185848251 619456815 956003653 512456722 533218123 136258763 291996445 373503857 136236962 430248111 112520808 392763973 346665625 812892104 223074909 280177875 594582770 451311228 521691777 525156376 713864402 549144392 500893041 284574380 307981660 725088693 600196879 873651583 423110821 503719915 145119276 507557510 487406805 411776041 136438894 600660373 765202489 171728153 719723518 497459809 149513881 309224009 616599349 784690728 318910186 917025378 889471002 589759218 535878670 585771180 817508948 633994056 804901029 666668336 788338149 512186410 612171404 891268127 519283253 403985469 263301085 812739699 976775268 816741005 710389286 264987790 404445375 680624278 535596022 558913854 370573901 235517274 558725418 207728598 640334996 586687635 470657481 726422196 373551413 833386714 597918038 616458048 229145415 276278355 277678440 195424158 296882692 218705350 961609082 315575176 879748579 445605634 678557049 653625937 584149646 539072587 966052904 314959872 549550473 198037431 612780490 691899476 892586898 853909944 493682853 779242002 123778250 591791537 438961840 406876370 159886214 964567406 188722402 493790648 614467847 713345334 931625759 142382567 304660383 211445190 500213747 146880129 794701859 684950874 587648617 265842670 687873345 405974046 333567272 634068191 200666095 900111263 924326240 451476627 739300345 633862701 819648942 316110308 581119386 212181961 849249503 232147622 308367672 667098658 370008637 202042283 512051683 558208718 480175424 765838766 264823994 264459352 147225814 701297650 918939870 978843582 324499372 440589312 389332363 369625480 238157608 169751520 270873262 543669972 974428990 924432063 450796932 423129653 663594707 659852964 109914754 986914707 324710931 568039844 287227761 801970384 902017286 375177256 760564996 367838609 441247313 932418458 896519416 510380558 745563649 764497200 510613624 498866561 179089922 825848206 395311478 313925066 808865207 642984437 971059754 348759698 701178563 651227235 961368508 809394771 317723275 945847954 809372958 836726222 884300182 896489155 494340771 563005183 454566354 605850841 257785311 261205026 140273468 532672530 792912091 731830956 687690797 889904013 610468168 161842321 342388398 814907049 464922017 757913490 273789613 991515405 518650008 257514841 892892614 125880840 423201754 974088104 558792606 111261507 341909094 492723745 114520569 349941820 343322427 278017311 133328198 272835742 832311408 357676710 762698741 966699925 344635511 664153131 555808518 457993336 674792688 686454007 568210359 626592305 183846421 136088563 663969208 708673434 478030335 473395325 133319089 152987556 689228346 501087444 862530463 530116759 275868238 974075038 505030692 704896651 133679684 761321462 151248388 292760910 255661739 623781021 518323238 640814035 882043045 919671509 623662536 597376749 978720787 562982787 575986264 948524684 476763297 564223010 627551651 197397817 811119868 353003696 753270980 273490366 863176733 149140854 566295300 594059059 635811709 630217263 756107941 355818362 160970317 514542332 947134853 758706481 476002755 580957605 730933286 854268649 189317242 757572085 446435916 906489763 116229823 205999148 986155784 409942156 640504581 282072442 193063397 915280057 926658641 442667363 918468135 934142396 218100147 753579394 198239963 746598907 374710574 814339726 128150094 843881500 298121210 113249302 476858189 357816698 851203885 105023051 223977271 619607991 354409400 703857356 227953602 314213576 828632165 654745422 136132040 531889506 761163897 745182412 178098540 364271452 895998472 200424508 269105739 992422166 445602659 215417164 229557755 810895150 860286600 400733989 212385346 790272727 289386747 605011489 852421040 516551585 858505382 266121670 360595752 400545475 944089756 362690279 586237468 595327409 185968212 276603060 611112101 183041862 522816414 100170322 425845392 231418554 122449809 151212643 812800904 951770051 606941128 381730643 228405410 160706777 191020234 206370136 882275255 127589776 899469999 258802607 935536083 689960338 563251161 375862207 678144486 283089728 441067116 878234889 507092633 636611857 563546552 748447395 242565408 975637515 600566730 593531967 901808554 807663936 492373647 117440035 709106117 257640665 976115476 450682581 743924811 868379018 901419839 642749610 923514206 397089056 190005303 455368289 702684677 261189733 797911496 298175439 161928971 390914820 103492037 411874358 238378865 295694242 445845502 159011843 146732005 922027683 283263780 223339289 839952015 366565125 346906045 301239163 762805234 784690430 238920042 811567609 188882312 828123062 742828139 220382499 478121465 856500444 693915060 786231807 256448009 374195168 556428292 838713409 567705840 277066017 989356007 823833054 979651582 560916706 673583241 370039776 800325110 971319896 719253500 525161568 359247291 731942567 439562653 613513620 935591327 192496229 403182587 546327947 307766602 437329769 452636766 507673942 513122923 583832125 928700659 254099367 412697422 759615160 620909850 904931037 198171914 967248076 520201605 661984543 998842278 638897912 777466206 880288415 115084023 373714985 116585211 406664200 551280751 528680486 333198841 698077259 276171020 936803456 567170492 274659157 862559386 198139164 172223038 706308222 222856945 652988291 142504376 994751193 847603411 679826008 245084994 736572754 425016706 772388056 526478255 205168198 174326960 249280694 125231789 124664172 772666655 962893732 205863261 537459528 187839393 398800589 918455611 349809948 963762616 635659482 717386669 884619040 704286555 143322284 855799424 187626653 884836187 537601404 475072379 812326375 842940266 644024637 788408225 109568595 802641285 592110845 753891734 570548650 122775061 456108244 150014633 661111905 924914352 350899517 297015765 839137482 817103705 790667860 746774419 374851406 737374703 459006345 112522775 357951945 956510682 153774528 173978422 380831612 360850881 452945468 848384753 149307476 473428802 324190070 367316750 667623897 186380625 770595499 869224481 886402409 198201679 574915368 836547920 861209360 327918700 285388854 735534142 658394255 707288117 401053525 313165234 823128850 768774298 989754083 458746606 787079451 562821716 581642991 500113525 743113483 717252297 617882596 681121573 191160239 826428564 129078883 244767487 211842983 949675799 981920771 250761263 545220591 521019053 487105186 298654201 822247405 319777844 232869232 937209668 775713890 265619721 968924673 529555084 972134980 232099187 344772221 983240496 474534890 764471039 498841787 249918773 765607839 819022465 656065724 297522414 584367085 813341026 446175944 309035325 817946981 477060713 952172405 203825503 333856188 464645706 410608874 509737494 441523793 452385083 565419671 233858698 842819097 882427626 131125443 447091556 833942687 939973089 401460386 613695682 945270723 598737633 654305278 809695403 334282701 425243493 704803578 370469279 589914009 366793288 810208263 338014523 752263600 173646569 622280140 383402043 424610266 321787730 692130673 752356045 104085569 683080767 970294658 984420209 330511440 474558974 367319460 310463572 416851349 148795844 568340645 318523116 317753548 802075083 806579547 822448348 381638987 469271727 917842772 107937077 328865302 289647916 838583126 739656663 755994181 807332626 165541184 102263077 162363049 450337361 585594857 951746285 389874115 303785866 561403985 511019857 823482809 726713786 823097082 512025158 319204773 749913607 233759803 682894509 893485610 856526639 691966769 166888856 166902875 875064128 182718806 240644702 199795771 879727864 506037725 104305266 738694962 417464928 971691127 180755316 519982271 773780168 457532650 612675151 683976075 584183511 372294039 103832262 817756452 879052290 568912896 774411115 870557258 943465593 495394353 203209862 948203213 191769146 306340706 607496313 490219108 924631996 478171729 733641624 698753017 737738920 890968427 260958112 160265928 982659511 761772381 744411610 819580149 204585103 450835327 738592157 594282709 372557669 341638362 495926842 263968807 706513243 235913412 410042896 456414014 651685954 102296039 781689966 229939121 128396768 894148145 133985417 290219667 362301076 893874813 560440227 257646211 383032281 669485008 666831666 401923562 757379183 924909869 967979166 918943710 552398918 447124945 317705721 470980511 287023579 941896796 109594307 424476808 938241530 272596364 103018044 323442043 248182392 794534288 597259776 227335625 823734764 210919279 707914689 774140935 424181808 741730113 958416882 323120990 607270267 120553037 867929867 157152042 533521466 387059362 126911068 126933335 924550864 631233682 661916680 735478538 670246329 345401444 486624366 742628979 319807506 827556800 822872799 803384828 154139046 569679082 535818762 714625332 231845345 551427758 412945293 552999011 840151238 696831053 607151271 137587576 729446986 985644875 691263589 648696610 991367276 641924735 130880192 405460107 111738585 774531124 373113183 968500218 504731760 380933878 488888943 173506637 460175829 995632073 298684308 594212729 660284208 541371667 721489362 431965871 463237041 931506175 134821780 880569728 337710830 479387450 708264765 580489029 430426795 908761612 531031855 383559571 113496791 720908857 419085195 259271912 278118007 521912124 227470637 866928739 142309448 152515864 579395860 405899766 366006736 918123741 820866459 379453866 421890653 608561942 486899083 230393259 429799850 506966417 606625635 571187660 429219657 956906329 564208642 500105349 940162069 197985431 624917458 511081055 203541037 949643284 803103622 280570140 430688540 456473153 302166547 717150131 659380501 627430012 763959455 712452816 128160313 788231998 418725406 780628159 121453918 664855143 673030152 472736333 861498415 904639185 325886325 428211823 939014394 816024098 878959539 382739787 656784126 710069698 915132056 626682716 952425691 855069475 453235537 344277397 953951115 431112930 566337180 280193548 638307015 648730604 524582196 139066638 988571710 813670929 490173465 335867646 469927900 438656053 715325977 432028543 953962210 742020571 402589383 487437118 699228025 398014970 269758428 451572177 319449110 529090286 439405653 195922088 594352474 206897785 688651866 858789970 244790660 486667213 583731929 807336875 767272650 240363221 308420535 743776315 500766135 864365460 640502870 474482213 999948780 533160828 726164473 766056290 399173766 380820097 438303969 821122725 815968954 793131652 503107098 406752064 588270317 132007907 147042095 574536973 392824399 580120542 567667667 631775524 769642655 127700736 683090253 480302021 699917232 266593978 437106041 645918851 322346516 154848044 423789099 281208018 763240475 832375308 541805925 154552493 477627010 364459937 590491633 429075603 616768845 844714956 652627229 943656634 178005465 788652830 380668858 995968778 223692059 855383636 989058957 788827960 682276628 597625818 779446977 495417101 862984549 326991657 623629314 105245246 154928760 791928189 482767701 122302862 437833628 685298161 877701921 752089557 334381924 758426185 135710035 767116200 236865132 519850846 177696228 820148235 822164666 814090437 301155398 675959382 946906473 927619704 414909916 763226094 779859646 285516275 392558124 530976120 977596646 419786593 503792802 687765702 884301479 885384028 233253806 606762761 964153331 546065085 702230772 502288100 744058490 352467060 811036351 113724640 407359428 934059777 589792336 791033510 144204846 988010552 785286794 734200372 540718189 280807290 594061403 530135529 624569965 252378843 702332111 494969629 145146770 191109540 438722826 956551128 230875558 529380904 179304304 628241674 666986838 741032977 976459427 272956773 832634622 508354569 460648338 509397576 964762213 566145048 307923132 879250548 414326822 674519059 616556202 589590713 780741034 618735707 144624432 201050648 836092033 220114445 472637688 434285477 690328516 172361282 424190712 158435417 578952737 297239107 663411964 919334005 384260396 427575069 144179581 703251754 889735336 629508770 180324231 139118737 204648518 940619629 811773885 461104000 664484198 976029954 745608690 581536596 573424978 385507470 959199206 731907727 522192494 943532887 429620491 939423281 900487208 780227481 783885121 521429056 188393416 847666588 264668130 368680193 532721943 415421829 590320526 419788798 111764078 466496915 873739826 199257005 441601765 411532532 151392779 235074549 957524044 595319485 579553790 100410632 361109152 684236892 900585366 269954351 190143471 400516681 591369409 488996193 333769483 485447097 741126534 268208954 211164786 557931631 895875241 379456196 229030200 309532242 696759863 415623001 614164466 535128075 879869387 244081773 605885627 780573490 318191912 574579582 385573153 801761819 235752603 248109793 879078873 989864777 886044463 306053843 964954960 844631138 756647958 529586604 987567865 270986179 699696485 736317920 708767580 904483140 871441203 929594756 600005518 444631478 331857832 242677211 499742583 871929964 169239640 442047215 565781229 410369349 240260630 789372263 104299151 674454897 791218088 400190759 775367378 953485131 301661143 142788582 586803044 781293139 370992167 175679765 779882778 834133883 831475900 487070674 424592890 372062832 931656316 132176240 207925952 573071786 998857634 410126389 207781703 382888705 712794904 697969832 666521529 123184142 899109792 182132356 913820946 811095460 750774055 104455964 686840621 812782170 653233389 320120987 881590236 307660776 950742972 653564297 626352642 238817828 516186926 755600168 194038022 223533871 601248459 179726063 834888336 980342381 902534396 150083080 741654030 760942184 850609849 823307777 588683202 260335597 650597540 869254238 125543774 884623640 974323772 959389631 167861868 720893827 440721438 300074863 370816793 566293611 778614118 978657802 232407543 421252931 171670629 608511307 712933667 663249790 851643489 822835001 416967208 519427282 690284605 541172763 982257559 621101586 561203531 986533802 884743342 219676962 499787879 818409938 369058917 781944828 870244558 903781457 147825050 630383174 553706168 296326023 629697950 664462588 136964246 977375175 578086546 793786397 461431727 918087229 936014944 338980737 165002033 833107541 974695994 231419966 319878134 352885920 177644339 405224305 242972586 406721399 124750899 771199047 912537267 763101891 641502941 173017380 985803411 104125005 401605553 606654395 873379242 617796243 143155346 413537886 638665828 708268701 742765304 157480629 258665333 136144218 168333421 858086661 789069491 368962272 341466991 999186319 230815989 799798530 239834693 101211631 989740534 910153009 623544200 226709150 977255910 229811164 240069841 713142960 469152794 520180920 263378579 462700194 830394847 457910154 389169857 165675160 223623743 767972510 333688356 495543404 309610388 750008517 921742978 471967745 638819475 218377336 322629410 365701088 973300566 242486498 727833371 198934470 943896074 626561190 219373151 524787952 284674086 631593644 860594315 173649301 760948820 734637827 669528716 583309417 402553370 796724971 772641336 664094531 570140136 327091406 331752793 849856086 466931261 737819789 557886095 484450371 398599040 660483833 333982213 943519530 590484529 594872373 558716164 159830180 925024001 301168682 158477409 174856011 685296970 635938822 935822839 646081920 457073267 393063114 618112076 932372721 250244107 218482273 839763421 400723377 976783760 612883129 246307163 757043162 444208312 105480160 324199484 527374693 406296312 148645003 171009623 125326633 756303946 961571302 531832963 912363727 878836515 478962795 440757817 440650754 763035176 524240094 518549415 519106468 249098954 842526194 416171830 639483553 388516499 463760050 177380555 505534453 885399631 414502044 807853533 232311356 262838238 802045422 313101567 228270032 961720990 766568031 398050459 964791908 670547090 113417472 905768467 657302369 752999868 925221505 605933956 447439993 265495189 705396817 870285800 484978633 668460317 837800210 843030498 403314179 796533575 624892798 671554104 781779646 886939371 450610712 150387618 376525470 657677445 493105583 505031670 869641779 772788491 273776584 574195489 922320136 327332714 849292005 659298724 858870343 212039280 346219357 474532284 552678982 540003266 993137240 433882937 302451438 759016388 140449867 320768173 823583102 615255626 717528163 737941346 854240694 646471705 966082683 800171208 644123646 899981403 531984765 280342270 399286129 811195683 864477134 911057950 560278048 722522476 459583131 826565656 567876192 699170521 727229374 773202289 454049663 871306257 316866057 162534917 860705280 738697183 982393792 752423335 280846930 227800462 431478894 352820368 492019852 585329159 467416965 329078599 245886731 625080216 660286147 258031713 112462343 233746265 456845966 209085722 413182393 826882508 822893643 757207865 266747344 313598180 563266945 621824721 351155368 328387157 418015104 522247260 484418250 314706041 958058284 225421838 705598125 176908518 875115093 248966330 439791117 653413789 122572171 665401210 443319134 798334170 856960173 111942941 207573927 356300594 251069787 385539866 667002759 423764158 679638546 490316930 326783336 869692229 304080661 609603739 470659041 104920443 623661093 576272732 317477617 987805358 928173917 551257619 877084631 327073634 761517187 161425088 767655802 637333148 301386260 554604415 446258559 836673515 220996860 855239473 659378525 539423219 346550792 709227400 961546745 105051425 936440248 140557487 149260748 485454771 729885816 602754863 586092253 938546406 305269670 460038398 558318456 654698991 901514477 311982510 200571681 626199477 885818948 662171219 917940776 688514703 158411195 946825343 475536082 105099674 374850221 857707204 418860422 921998975 938729034 866086482 327500259 203082751 868819391 661232380 816927491 748730165 474223551 318219433 820108076 978490870 743073457 401636128 504853354 946443894 951136660 829356956 727816799 468932877 284196069 410088634 358185383 422002615 388780220 284417267 396263733 628187044 374949145 615581151 387266161 643733496 503713563 333454625 954686807 118795560 564748649 759872754 140489844 793605505 627235586 185986134 379837113 671090470 209153924 318881334 225488900 123898450 668101460 964421436 549080314 869111900 954646832 408137126 175135434 448878634 428895156 861906190 317624903 855185379 945390129 364917610 506637863 426441374 129607524 415807029 144654793 658231868 173463664 300084985 412861262 287200470 827124554 320948713 630424020 113040480 865945333 629666000 411366290 379603095 524310292 558729115 232628142 170394411 870237412 192491578 508425005 120802151 758036946 771272703 965796848 235466919 734191428 179338960 898170987 536082106 346882563 960489024 243635798 101016549 817994858 291528339 603321474 143674453 205269787 455336028 861405512 299036102 854798205 204072437 423793663 877896288 606821785 837846915 934118622 851280090 239417981 254030663 984105862 160053404 464927059 944532251 314286743 108442917 107028894 751630178 572152250 961293737 943780071 130684205 678831198 953163637 416060317 437505159 142310942 710190684 129261932 489613209 623815368 108625236 187449702 477480835 833289939 657521366 814436958 545554602 755509881 546630130 570043996 356569237 265328754 419997388 271469723 329562654 771226093 929409904 407042936 929843954 991552999 282839197 905647947 583917077 268961405 964401768 182559617 354031723 163361520 286781788 760838664 953251225 655851874 275227788 862128332 684032082 531339303 638791753 678397790 822908550 856447541 576650239 985500982 749007852 383971475 653908826 687247060 658673636 357002003 343919201 990737384 326061599 818299148 191298554 823308279 203556954 169792188 195252887 426029396 886783284 180103678 282843894 316672453 190884433 841316223 192393048 523625509 236407710 182631808 994477028 309371550 794868254 726269352 163028234 542605722 499489002 536686595 273058396 782485333 857008279 579108492 545820295 967683046 758257109 142461317 660722328 914640960 492069329 828875222 708844757 524394245 267771565 799103979 580018383 858503388 796714052 817427312 482746931 222416450 469008736 910074928 713852456 820903872 482211372 152753539 336583647 108572441 648634035 910671086 510155596 852687564 849894323 619116952 665625402 851963597 550195201 102912341 372559008 861945059 914863389 241965548 213175506 345438129 710956419 509692239 127467755 948167991 536343560 953839870 637244754 810409593 995227085 286569591 771306872 652342611 718805389 499605049 709590841 485526089 739016087 779364650 837899533 233440843 685894862 771472769 546682826 280823078 263579367 418795592 819576690 851375076 972686306 928242367 548996501 181091057 181743246 457263568 397346997 843490990 935815731 731742902 304276745 667493544 999094787 385895846 194698681 841138108 602304421 809706611 593942920 665758297 173080298 700301295 646317355 418452517 518269860 471176345 714236423 987167839 639414145 467642625 157232317 517712716 134579618 749596169 399979288 719474771 443747470 727247094 684385921 899434235 175529971 686823134 114172096 739925861 817746380 415199452 166061353 820154613 474567902 208494769 559479793 822114773 420108236 985195221 539282844 712063630 711726162 725546165 345363680 822421020 747252134 622977282 109172714 309316082 686213047 485023805 887909362 326440009 615095193 614577850 511759675 892704824 482033876 767506387 722561197 824240644 420248168 503861020 211292818 908998313 103002535 209211797 475037435 809748193 719127713 726508743 740948042 499989884 495162658 605944620 588811169 803035228 740828679 197930609 612091222 429061296 735399130 142128399 129771498 962978650 133040306 539862610 642216402 167472164 214153340 213876208 734530287 354861338 920328937 791037634 234610022 365585485 149713004 741095861 358611885 358506442 814548934 165636829 749522991 860648202 169246024 113190638 856266015 921003408 308134609 989080227 683899421 676783178 282459238 279285964 244588343 435362154 588133469 628091460 829413680 954117661 877669457 226806403 869639057 915549555 709842775 393952254 360943095 536759965 445909855 160015053 439365076 660313618 245877548 981768882 403096289 985221192 341303237 105717042 619682823 902715125 161176808 188666430 979474917 815829301 743967692 129488924 114335889 527302433 197424727 760858325 567728458 228570010 585459374 800759554 589206647 192891972 507554476 208255282 813029256 442058403 849792230 819296910 642291556 746388086 697722691 325670035 184190816 348649980 594115549 868912811 132823474 330358585 202252158 494682508 539527947 886784316 358418787 100004215 188127035 436095239 307987354 580684974 690090430 457797821 492752912 540591609 300487847 968344566 351138130 237155358 359189091 298715295 169004646 566466868 409513754 668487706 255384140 141493714 819610689 909540415 351456146 227356583 586698356 148448973 818812870 945599359 372615780 222494362 822691361 980392450 439197431 443185964 646059991 418804236 183765575 895898394 528557067 710274264 972691129 274474016 999044134 353797439 891623023 866269636 372022798 627596525 783369315 338144410 426942294 850862585 229287785 840822167 379458054 560279036 494674634 667377836 886171944 589368403 544343054 201326833 378410703 320034326 499734171 489848468 741150214 725850108 335008432 767296479 896409905 795343325 974105604 632745214 496508506 354830920 980046016 963882218 741632308 255571741 515739587 977641119 608561352 734070037 845433817 735890196 329643288 874260941 967698927 804444143 347996615 179364448 781884685 506762923 412735271 603199028 519064205 120963316 519744821 950416950 259217529 785618916 111663492 916042724 653616334 219002363 272836086 402207979 402212490 612564597 336292211 711409036 610426395 491820254 268972641 592029453 180414620 211345800 187585980 733067435 588137598 213016106 758172416 196891654 147639196 850810547 533827463 575417820 860400061 477041923 608456836 648416200 266921057 200461872 593275446 928554657 877105064 206738082 298824338 517085424 306890218 200168458 313013197 645374971 524693301 588038680 678723114 482907547 998230166 488700767 275230967 314799067 994338613 814599894 597351300 153738495 741473435 368099615 385635383 338710715 403695883 502703761 773102238 488001671 285768237 796162083 810054213 292677671 390314579 775590694 434822513 556125771 942107043 255811683 227081403 342347354 312468102 981725275 750467361 321303445 661809120 503353687 815857607 788644461 818793979 160198549 370247565 335163965 884413875 810201762 879549143 619845760 951256030 301470697 206776263 517838870 471083139 655563570 660007516 216970773 653293227 133656768 391708273 384442529 628539590 667572485 709570216 570360683 703375578 346182721 484516795 204744544 118483915 760681672 299966843 414670708 456400921 998435394 996573547 691284057 858874824 450239937 351445145 589526682 565093829 404331936 227366426 609636941 222097109 963095361 957675032 799267118 986636618 854704769 607142253 161240460 928470551 235958914 423294211 145272458 787404211 627007946 777732855 895112444 303470840 588454317 132392380 353526810 498794167 394650417 824259380 946685737 471869487 183343905 678970493 208619984 984606443 823013825 355213998 180297880 527704117 857647063 965427939 358998183 260188876 460153855 377174158 194908223 554056954 800565349 453894558 266588189 442032455 389238879 738431039 950520915 898978995 439422353 192007346 938316010 685131316 764144132 580853267 976687863 640505116 716987436 341718623 498118575 788271450 216965407 223446954 327414919 392786028 936472308 212200408 713385319 624535620 696998104 713092724 888324908 591719305 141967727 566142362 315078472 171529022 181375745 914678714 634659890 157094991 224327006 776879244 738555951 268999059 929634269 749888260 500332513 472669888 242350618 907114902 802368344 605939592 479202164 395498872 822051212 709203560 399101975 571707549 741162727 830727181 570561286 477615628 704466980 764289754 831210525 412499874 295538065 698778131 582877228 371215673 383176163 538312183 516866334 711648676 771209630 251345901 402969980 650998870 673645384 363796024 440481413 778149160 638928386 260373094 652892421 865403885 134899035 979367037 507056327 871039416 207616194 210995611 616562650 701926674 498894891 803450126 565129077 154122814 258840275 613165307 481001694 574314298 923055360 549962377 147545984 285750226 908836859 456727574 395293317 496883263 893518262 479824868 917325936 160333013 930398777 578013885 379217613 521058847 208478752 392287478 934791789 297595313 620518854 444598006 706429967 105143561 686939411 153765780 771545755 514411187 675718011 534861406 759013920 305553091 835172487 163788505 198131221 187479257 338297275 243731232 959971657 799785965 560324279 788095895 973413863 310158629 828668352 856034859 628330583 120080987 583746898 423885184 333996896 331738282 843203141 505582739 615058840 688469717 698220427 608270665 358210518 937995083 347550197 755298024 435419668 804037488 101591968 610561864 212973491 151928809 842535714 114171636 622962070 747487820 408964780 367853011 727243912 828045314 566147085 290207074 438253494 299190170 257124959 477362961 459026142 818428374 947742030 771272141 293928645 883755248 856276383 961348359 828089937 340355850 786378089 282523241 814942605 445249200 283565717 394999754 323730762 112532201 394164767 983603084 385410025 350399776 821085428 125209725 425679803 870366763 556751692 151667032 489650611 515563822 532343069 684717263 651299316 604882424 973764271 284400627 526141395 986807377 840870301 579994976 416662933 423895202 999702423 942518432 361884772 901541138 807614941 912791744 856764446 288059050 494233975 961422402 256291949 568428307 861505180 914923416 287494012 787342626 463815512 317062067 877300147 358973713 336758219 965662870 912407419 572349918 101040223 982077611 315362045 271825505 474930124 819470408 364947290 783265585 954575878 324903403 304983400 785685721 116840145 564791086 694291263 621437426 485216989 299725517 220987524 585887770 890082998 637131021 478507336 983912946 281669519 580995480 530987146 542364903 641000851 704007909 286610643 777226080 783859782 542478102 550196536 979345209 637630716 646889154 214532867 229603343 850056612 613723229 668508858 565249703 607302597 437986288 901983049 196219882 695539701 390033105 457621564 138814718 608661131 921893506 438033663 101444197 652399389 847390155 764089981 851122839 292392046 376731686 214162847 835532514 571290271 217635776 665214042 450876188 680804222 692926254 479505042 709477318 350278755 922738568 717832027 163503134 883640800 582839550 266058147 883093360 234814253 898152099 318733588 129415695 323608310 522478229 453670150 541750753 166831112 757480713 218910544 318204779 603944976 368243695 374650942 563304054 179161019 894505466 164991285 910987841 670738419 739353436 634067542 219782821 119676129 447867862 238194318 315258404 944675975 304395813 568553281 993198186 449912492 785438133 386877796 798648494 583900178 499875975 242797007 199200068 173877670 853635904 680758022 384298035 340486860 927102164 879854795 695095813 685883946 251816697 370862384 911663222 292520812 909903648 205422433 260017840 914965344 860591963 719433648 499599481 481291062 928730057 379846793 515775116 548539494 582339342 964401828 363654790 759586331 146728468 323438031 709171452 690486996 255022818 871327975 488398912 853026852 457387709 559349135 108545671 731979350 248577927 665443397 288018514 432547548 130265977 650124987 739012957 929708703 547675888 133551891 875141226 611637056 567268781 873842794 796198996 971607696 975909739 809597516 303061852 432099190 285419007 825230415 565412530 390408922 183822637 811633301 782227692 599380726 494727003 222718321 195586097 763568574 158897885 682398363 635607765 426681987 228666203 766745097 804421686 503673620 588649599 825676130 647261357 989426819 268588072 479030171 635265484 749284879 357463230 509901619 147918232 623596527 331857378 666143710 191760201 347892210 961851402 151061174 436731420 271128374 385322809 357224508 262569323 882675766 680593208 747931988 233568413 193916427 577632240 347784839 956339838 463188540 338545944 647434794 166928247 803563056 735063027 701077128 691761514 120763012 633671155 723428682 236350332 768242557 376571006 360318287 640092499 487669724 727436579 284560733 879384238 904621967 622819046 389573522 262320563 663179312 136360214 480172202 692079175 824066117 447279456 296269532 306687335 358420412 663917204 883596761 515785534 478644909 910997840 410222223 957968887 406130596 375795687 359160701 590602526 817113154 377583057 444385154 464050395 182912185 254546351 267704960 230858994 712527259 105997439 811124260 200498460 537168292 483108772 343105959 558882920 594753461 763376809 673735650 135466932 623834019 184862475 391206439 277438684 614131365 354806574 449596508 318841712 165300111 988148023 783600426 670868001 728881549 972049239 709741727 803748269 730448954 187518828 954834928 853218716 518892235 468708506 852097661 741282199 347746887 985216015 526180353 953924625 562233379 754020053 861013196 621806509 418600794 452131615 215808049 213200421 442208490 804634735 854811670 159008303 209415795 351086514 493173800 694591405 952591861 455240335 307538250 224239318 305284137 287256234 121155239 376550235 224814311 336742488 638883720 983086805 511707189 295620175 230014057 754917688 357420958 934063989 313624011 724699723 984303638 718245803 300733859 901279681 635930870 756298981 991652692 439701766 529934243 785644709 695747149 907775490 638170852 742954986 517008258 782051421 814483978 165227884 230248807 503663152 949267919 986476687 949322181 968556739 693667003 972412466 458064718 447905731 642214080 989402310 836836550 782604872 647838581 860344761 288158276 706291770 569843358 275128287 853256973 327417256 922852117 558922835 778723149 635206251 282348479 546572580 386132852 793821359 882338104 980440360 293778931 536374060 260745300 369549296 341670029 959455471 536967015 747587295 839470707 751987522 915237085 840066456 236857196 943032735 703457419 173716342 317217598 466119386 212198656 917618655 763304263 108925542 707272437 414589947 952574532 211148499 900387887 132434178 666222090 810617908 239503311 228074036 311562341 306194775 755591252 410665340 869216252 872271501 483928698 793235001 713784447 954331756 545278058 553975482 176480448 599375242 961035815 869130806 997522880 135433505 531322348 140996072 962681470 288908278 481829392 414330103 326727283 700100975 498793508 689861845 906459167 822630752 886077761 221704543 460264976 582763920 298606270 871429106 642576933 477545255 759456247 577095305 489492023 976787666 924704552 474357061 465815665 373574920 819629901 220250299 990180708 885374336 530469823 884160667 830148402 335894058 283965197 645082316 630962664 938283581 909811254 724288631 430744325 731914176 802078147 169595679 374185583 853759174 509168517 998926064 309008991 747441878 845551215 653564188 824440031 430304403 933546011 172279119 886915273 933172130 971076752 265170122 414678295 276165394 104967288 757845064 979893721 234249908 812229007 460514171 444803468 938944964 639699304 545059344 679911094 270272751 278316790 334789177 451804142 159318123 320765243 163566029 449252629 234974721 497111555 801394700 195246323 261338760 278914441 711677483 373709865 176729026 306224413 841484599 428379728 591995984 837910099 732968932 910817547 410335901 228569952 385507259 538320644 504379728 494742267 658909931 653269183 817748296 691999256 398200867 300510775 344409291 626404192 939063897 738570972 142058381 160637567 592294805 566835728 161329565 366497228 413055999 657493477 613646988 624291312 585073818 846929800 173777872 186396942 888534823 530453511 887528517 445756508 279762476 586349371 376979292 318253995 688413391 972575572 189483582 167448286 200158989 203995570 754094379 400637872 200370529 637833568 501109864 191134003 337867893 574670719 923996551 814365364 484110949 395705868 421672512 831685899 612841575 667941563 271027250 253167703 180954942 705453918 291518181 149074122 295367063 175591246 619051996 698739106 711956093 911134302 818154618 370729193 727461342 511168806 798342393 858870528 131571553 466522812 385740976 976297616 645390683 643134323 955917817 994996249 964026566 682216271 996069501 907274235 197541125 420870187 873518343 208515498 210974765 292069032 665797191 939930102 630683888 875492202 891038350 965109595 200834626 779100960 133900276 462586567 422439154 741157412 432920004 846010181 393173107 104708585 698118438 494506661 487738577 358421616 566402633 244874940 750169801 224853373 364585297 810062489 599260821 632963033 637929766 908044635 548431656 114550305 676508364 147835232 370919001 299501934 290997415 115326594 787050691 583227618 960650151 482178524 682357839 836170515 849019809 382301493 293569109 714103567 542525950 321532634 516424725 518321428 285479298 111100764 328490279 774716832 874130124 728917517 961206423 953521071 276858788 665358639 466981388 626651638 415589351 686828593 720677524 611252841 798319331 677114269 172589369 134576337 826699331 266363844 939387683 809135251 404173007 151528921 869523781 217152533 181226003 230792297 588886023 532272240 256046124 666470170 690499050 909942520 448382469 949261449 445493212 652046056 615735996 531834730 601807524 502376212 599009188 106617780 334016895 244033251 831862620 504880779 691355593 603680295 673856186 490796866 491126067 972501828 693226724 403035097 929720850 766934853 224422123 242698763 742463061 330056491 287913994 137055568 804755932 862259525 469884710 588797205 244752668 290174013 964740575 218912700 721200919 175068730 906344125 529975957 736211106 453785268 463775240 674081756 266501306 765065641 765262631 917831489 467648733 801426366 606797916 538444075 179060555 727833173 733316419 552454752 952608612 149790213 908869946 663031460 941635490 355012130 860811197 264929326 208684883 295761936 663748201 497273996 163689375 110309608 533270911 949248513 709612636 583146148 324927130 503753700 874362776 242319772 438733214 300485743 454721102 380428597 532519010 381859456 837350083 947337280 160847804 666960574 607693305 224208306 751670496 271996544 783496661 443711869 228731841 251069208 928124010 978635748 160803561 797797198 672010497 208154227 853274306 389739375 730864218 298621780 975715059 847424139 832710254 980531255 515777946 646546988 878325347 431972486 706835074 886691031 375289996 389417551 791280557 698104661 139672887 592238323 830717663 356100529 937105123 515277732 574821940 127056451 434049451 326010390 300084429 381643922 606280362 472995275 366210725 586014788 952930618 375108297 534380528 235748426 953893628 154128278 788590960 733050789 432078698 424441655 231419644 862514749 189350203 300569876 893984954 789256730 366319957 114755770 229778526 457333022 364759477 827385670 585745866 459425080 834356084 872117687 736052029 642416859 313544737 954861109 184076227 870148386 560163046 955950916 741956195 811988044 887348813 794373606 705112347 192517802 482717080 419370933 495878716 252052508 523384490 345467302 287939462 379088292 324268913 175743070 325956476 975672312 216018727 993436398 899327031 949070374 403625751 474221830 262502519 549879563 142150308 213895983 100526718 604587319 880499758 231706597 704578825 452238378 748306097 680580378 107169634 176934018 576180017 419234567 422084623 763791072 452845669 712540387 383068271 614070762 719312256 551448435 490607538 955199987 494129483 968401828 262206190 820953763 320623717 123711469 895695375 411780775 876793167 355899475 312224300 659129368 951421603 253983295 897971157 629900710 213001297 926043335 368943195 496791901 529575535 433328703 263994679 319169867 959104890 888410619 651677558 144869897 752932920 789512635 853645352 704970158 409086832 653896288 802921797 210828771 490644100 767104804 363869433 836601976 888567895 880406537 549298367 724860782 841868645 720061053 300038833 801407269 758652088 852255145 643371270 172250700 264329976 644587359 789591707 501445723 508606642 212694786 907875983 442773559 938851526 220767226 335003153 102223055 391356774 763542712 810524866 117716104 838815014 828786477 498535333 287594477 649813158 653933052 379592975 783722999 947189406 194518471 838368459 702191523 140062843 427165559 812958990 847740286 202459371 360294732 611347818 224214060 829144289 225274008 109556608 716943209 235317648 956912762 587283390 189193775 834045947 709016088 863468018 591078478 813416233 449388992 394521545 859898879 304363682 329339539 507729123 767816930 322746925 589547334 850365754 691226348 167961272 318441180 431500088 609471884 545839359 290967434 259579424 914776357 245998888 543229785 305243461 341732816 515636455 473700159 180722762 179457224 941126789 440595508 602361911 382469984 962983139 231836416 177206334 800456256 643614077 565895613 805341401 387083984 195922344 937355054 693945258 884224126 739860003 630998384 956334481 755751109 582514541 585142945 218015791 784562700 225640788 360817802 200495089 713475797 619765086 607783187 426814078 451228682 794842871 411552259 403055592 449011603 524077368 198332105 489728180 944417057 427546794 526710984 762845034 117326709 201622331 504982026 629755548 788136930 581961687 169502779 165632669 709904884 702499414 979168668 791672445 595499764 242890420 493830046 310510064 259574435 182576773 890298974 185779805 683178767 567081079 927564728 828535863 228724213 967745618 420101715 502857097 549047354 614675842 784328537 577033178 465496463 326479769 420207140 742283756 944394612 509490606 796858695 734844630 910375908 969862342 628160225 255239652 811028761 201734552 531896541 797060519 230166391 554157902 661573145 871166162 804296355 870476258 768090302 429449367 176478551 806318058 929812796 661871325 427383221 932675605 142215804 160204615 375467202 500923530 724348606 435699016 611077046 319373759 238594320 519858323 162331854 534319497 814703127 686076282 841516857 655568682 300700114 433917588 565749892 674092737 987224519 658142394 674693143 450855122 932326967 210373850 128913397 986785532 786574188 831729667 703470379 820390820 131495188 565367691 778673918 255068603 689207116 863121040 712387481 195140610 894432801 787328481 982116057 348685275 665439171 264127921 808095062 895162008 999906234 181391586 401670169 687930340 676799881 890373058 678105929 247580588 849317223 682668182 779544145 704110580 621351012 239641705 988281089 829764717 864909881 239936151 762656619 217298476 174971444 265003425 391354770 981374700 718616898 600966465 444927070 850197926 775691955 541773713 148534203 909887734 791367047 942418267 245361180 166835728 812599132 332508607 367400152 554596878 268477829 513267805 435516925 777228324 686417049 526475411 927166577 448167053 309216262 499403438 772851577 584150320 193658538 675239537 834869412 916531452 660196438 752218455 318001375 712095858 502369645 730126255 225650967 146218015 894035032 775880769 389040732 611613694 502059115 789877611 112127188 332402986 925135581 169847029 535733358 614308588 232545373 715316624 859151278 666573189 139876053 363939553 539671075 962711850 474330024 443998799 441134498 841892519 782511581 275648489 559168414 390440543 120410751 672808069 787063765 416725820 848860218 560859937 545066512 791764564 893060032 809824530 275426713 612812773 366734899 462580919 230490039 513094609 216242839 599630147 679079114 251116151 859568828 356125822 755059063 826888288 523877271 868646721 625297166 129323441 974763907 637354136 282884575 606714804 153670372 311294946 435992126 561234900 203710488 635469209 797789813 221966790 155302966 892439582 197261842 226852279 965247381 121504685 451177555 992138753 311820272 891715829 538371969 499620889 175392671 170125702 403123706 591619488 953079289 583253581 407479266 886774677 815314172 209638974 596394866 273689153 630163418 393195145 215826714 222870881 782852614 960378705 234605091 623264397 234021236 972491917 875528478 937061049 409298120 594084266 789471077 575217368 771331727 551580219 575078358 908527901 371256598 955424484 297911270 809059174 910223408 960421275 676146292 161978783 825892746 463357901 372423629 587736094 409120696 808122714 556114577 861916007 412959945 983262550 497077463 361144631 816664055 357800199 874902889 264186886 558793154 593482533 256614563 683407905 517240080 470594179 982756764 102684555 152884102 412787655 555126072 481573830 306060103 300442595 862142992 924689264 687225303 651452476 983335363 731434286 197073540 411900541 304424386 724549328 309315598 429764693 779041484 971845853 710192034 435503607 100640154 750885990 399062306 895026804 438174039 743941080 302805179 463611048 942103699 446836861 890735557 243076422 641871132 146653960 538084491 518756181 785861106 655307056 554461492 306356369 805224250 913554900 355128459 638373201 894041916 955875722 591682665 952875550 840875673 941145746 541509913 524327979 353442356 212478183 727306897 771233654 213786366 280698599 110885208 296815566 497247432 341294896 252668158 683539804 925959103 317032758 504976846 675816372 923864586 844118859 806549688 290203104 400545331 439845513 365029443 691036069 256053847 848884642 702704502 397154874 426629060 363996806 359953034 121666863 495192453 566144322 842375819 129408450 949895998 396377255 322488896 331693659 781517620 796993056 131311302 507406126 605073196 829964130 186792275 626941503 423860224 799328228 440709103 383269155 372980013 549607780 520231434 253745097 827753813 920725659 963310381 310878592 168956524 383779126 781157718 236819901 243734747 452588343 343978316 915226732 463318225 466816800 936954904 595620198 549170888 797882745 263529768 103191300 903750172 493953463 343100551 466555653 186869900 870731212 326864679 997051366 997739303 482551676 415923610 385377795 404638467 455431938 249651545 813016194 426825068 237187146 778656593 239176943 440510113 586568061 905460575 679050089 770161458 997174777 890005393 908729814 444176645 513122946 831111019 524312643 947530866 637209933 810928937 980691970 917879056 166233470 270343556 971572909 724478213 356837403 966468956 536024600 625551344 464648761 329479097 624305841 335017302 483444458 893999915 865189820 934544817 543677656 737717476 323698857 205199156 569058652 332139216 661815556 564516604 109872062 575545077 169877044 431603665 691607078 464219742 506781431 114144716 181761180 752314901 858990690 687440730 677815321 222591946 912556670 862285576 935838610 940659440 628472819 331323411 836370630 774193655 765730730 771319644 455446616 466974471 431986230 719262468 448929093 451690765 793698343 394539076 241894329 479307227 398339592 207398136 287255206 274964796 910216648 735248575 272034884 683623519 403901815 111505565 868395781 294200221 644041282 409411058 237200991 790743813 865697996 327422654 327721890 838705144 289003541 459005567 656963625 149951633 952895888 145485927 346500078 574179719 488430731 403761219 376247223 857430573 998952564 936479767 986861123 884208319 452205193 884892400 854491125 849436671 224573314 786653272 815772548 745916914 817839601 488947864 447226594 110248135 583321970 466299018 415197487 348299969 285739148 224758940 424238021 290704644 424011342 825416448 859995152 806703285 495682555 875293691 841177315 838761303 104598319 716679040 695049261 182209160 400082469 257167980 607597523 175143944 231653547 660815230 989349528 593913052 653186137 885138383 711568217 876283020 209631581 667133447 448158050 859704007 230789042 855344728 648189787 475193454 851557790 677160377 195765764 559318140 533049462 598507117 810267818 696689852 912561808 353838815 414753599 465171278 123881384 774260720 823998431 915572223 450866152 822504821 807667079 118439369 603958914 754602336 993551482 127850131 112628628 352872651 973254269 621128394 439211825 297246180 465398909 121872318 206842188 425000672 756186880 413493150 434257118 466434772 721141759 383487772 621701277 191396718 677495360 146328454 458551700 183495558 961157949 404961703 619212936 450650225 196241016 325080355 313607991 833190860 590335200 119695888 800980775 335033595 448992441 426958987 710752124 243408166 346844095 475547905 440797839 328008525 844903424 238109204 122476051 936618780 435271714 791684040 996658430 798433211 392464020 458418049 265650150 984149424 170445103 391547296 428247546 355339909 729674775 916575496 315647439 929419376 324132654 530618895 123500826 133584578 541325166 270265152 191194049 636101366 307695573 694400846 659467903 578261719 333868823 491938334 939121259 765365764 202803079 455451155 106608519 976745456 400755992 165591441 944783806 371792379 786935464 814277592 759436967 566437197 922449183 256351514 875387093 205055058 472644358 325487689 554550618 480678002 964904963 786974914 866540459 868736292 821666241 377116584 790877917 867816566 802617859 748605898 112860571 411232408 125018830 179784345 896781413 854376991 881816292 458477387 456141592 471335348 962802799 987418563 935122927 358025069 641941442 456644305 701692503 687477987 122772185 229422291 510996105 283170797 462850603 807280677 288311728 658459175 192022696 257793641 148175703 609057956 899923091 408408885 948180020 830499339 229300271 843090225 467922244 657390577 668994932 590529774 724626751 583649452 137716089 558621595 343091738 162211709 126002461 767266771 514606472 400246301 858412786 546795762 166704433 648865717 871163427 965688479 195166751 592256791 334537581 692264409 422393667 892332102 431914902 863889175 314495611 129127033 294738818 331748107 953670910 608779977 293118911 638211415 176660760 644602995 174886208 515658883 564650358 302160827 757570901 366385779 739355848 565463992 771809689 148235677 596940762 708321199 390429100 931843991 812311932 849851999 336910664 694090812 368097219 777203406 911294823 699685059 462636749 178011142 942643765 261726434 672481498 872801070 610491714 770292581 781168778 903877919 500540455 910365562 153829789 334890892 722961062 175656106 715060455 643585749 363889320 305826893 483625650 893420594 784736667 319478700 320794244 757595789 359895792 589585784 213246048 314508845 359450637 810055605 363182030 898964798 988043836 530996728 819274186 936784650 186000730 899072431 716230406 386661804 417460709 480123824 891073577 597125394 458558875 887473541 499531543 442396851 774541381 392179280 889201893 309958009 862243160 401312055 556084507 850898262 826191997 496348791 942841699 743373777 911855220 366158245 984959190 317303238 406233979 172072506 256612763 510899399 216433448 848574485 779043164 658568758 223878239 971777626 159686688 977185264 543612522 837048007 469916150 241692459 647277011 834281421 584300934 567360353 118283965 872631220 702982875 518027829 641351880 801172655 556084070 778763600 297673130 878518120 628375621 577196647 761391563 199839423 321804049 167325332 226404809 764680662 973152980 369478772 532493463 496067572 374387906 858461449 657819557 698257863 844450406 742169774 655679018 804736501 117025887 916770447 517139998 604974982 238770253 955984950 576060620 870776186 947740803 637969573 568843094 225945352 247256473 243101965 125827932 310214280 872708991 356317455 236241547 481325895 502870635 195950095 681960355 390704220 891408277 288275474 821313271 687920130 641362330 243610387 266480646 362042399 203764973 991660209 407229999 147320154 285097613 439814282 904896998 855700269 970685885 172351796 737422076 840889743 783377732 889602784 869446013 988816570 710389089 229455355 329614645 926425193 812830209 189365065 566797356 213961576 637492384 498045209 918223412 803109013 821482205 115105838 293933872 684566427 542289015 213716668 482297984 430541462 597257501 663829185 967655844 931586153 259908391 522918212 245755151 797647484 894162749 146932974 729767842 683638215 817507106 282871253 752445658 159773356 295225447 555949121 118226636 385241876 966870585 647331285 519563570 211054239 998675011 334081363 125658355 928578570 681608314 902056342 893950519 752674094 558712709 465934257 540683003 897689428 311351780 464411188 158076314 663213127 491422307 214877066 589048560 746289049 963597177 646373706 473505607 217709185 289832770 327325670 181380226 441062432 666998088 356445962 128546748 193869971 177490159 861903556 794108713 755990958 856026713 315542756 620531901 706258940 244378520 854101125 225739008 746874666 164458399 463641048 289214122 830054444 654679258 895950260 173297641 205492279 677115084 284789962 383770190 437818429 381908464 839432028 260084604 558244106 748101125 296996484 691406485 930665920 556560366 369008549 893461122 740539498 794533900 820913440 585143037 810900370 747348480 369849578 515475607 470265172 885592598 975900587 653929976 108850075 242466848 520090458 561966820 854350583 970489803 492194438 599658040 292429508 815408451 836025055 905334797 633859136 606653515 202783718 688832524 123724813 298825314 539979698 694895070 322211408 951728126 660709878 795800267 289458664 401842907 139160666 301327209 438128769 554514877 480790077 721989874 507761334 563390841 536750888 500966379 302607665 497901374 172671346 769696827 401627032 537803875 646394541 768941824 913102915 649048722 695225073 558481368 219672623 813597143 242390748 269715227 741344914 119963025 662491895 799132099 285060768 349093274 706864655 118407682 183194157 563728856 573249685 709388377 497628626 279640615 164029433 596806057 833269211 920943526 930613528 278964075 745414124 574519106 913306153 984695905 939394971 934119868 350061824 997957279 745793509 138052079 711026449 318905594 112461385 526521273 319488057 387587265 243527992 485526322 646466721 857331444 996285424 401025778 121039833 737627344 496348019 728827264 133466037 886971986 422667341 490462014 416705012 439452588 960901580 329179182 594775288 494472672 243468973 115839553 261186969 969569668 340916059 283241244 364774615 804836894 950577804 727531924 223493699 798076428 581961039 341745712 630212764 585049779 566999045 629050039 477107007 329623206 945612982 342243421 752790257 228308656 695978499 220004477 606530413 913915861 142027096 797206409 899320934 208439816 391195520 358675474 687149661 575772870 106377474 901587227 182682684 737006239 897366839 994729257 423112298 937831180 957926310 153224660 271865871 850813500 191305177 167494295 444851345 492669350 309286010 611690967 280089189 866193294 571248892 365281092 535289516 657386315 387897237 212564746 122242240 315338942 287742837 924481563 211152910 571611277 443566533 203901190 345287091 758378091 263393167 183757679 311187568 119000939 863276530 359490483 577367530 991184905 357269130 598654264 184257181 643337083 972648891 115805419 191238343 282584099 201016805 939876944 742003434 129375908 731223017 534990305 769703898 353860699 448661754 523154616 582497881 622405948 993996628 225300058 645172548 876113529 915491782 119351173 376909063 928425923 950697709 836412297 361624817 683672490 491334931 781721440 652723322 792017405 161254557 876091986 892474495 574533807 695381489 520325120 621982351 545487221 875770724 432413579 109661950 551642986 718041457 869257129 136247859 748773687 776876167 130534188 606968026 918818019 186430365 648567517 864151087 545511893 174403532 595734962 438806546 635442240 842943732 325863447 609292228 198090288 843308704 461916564 652148709 878598907 514778282 531173941 810567112 853182537 236065474 804244639 541315599 835804687 365107414 771832528 804126898 710203430 619465598 775320739 637064641 285500166 315790673 666678283 360808104 132106539 738060336 428257924 529314946 903203269 705581776 123821872 796190858 261777353 385751454 393038734 667932760 604740430 531829272 422895657 465865274 245788293 935683444 809915462 885191628 735090899 788481561 754596479 910822112 565999166 336910323 354310690 501725949 463284043 447664128 707156551 886980500 621003698 149753908 514637135 119912985 207908377 445213282 235883757 741857289 580890535 728720916 376423022 755932792 859630110 496577184 332615851 508301392 149908970 915556602 394066482 593683596 638877021 980206280 172118230 839992207 886397564 275794491 746498373 310178058 251930631 495871012 859457713 384659399 259278161 868389934 560399836 504445117 368257925 842284965 351020657 392082415 696187820 819503165 301738338 141579392 415752693 406123276 295671721 366500084 132819436 645084876 828285696 182223665 530335960 595878703 885820606 670903503 580560115 405940693 399243167 344249568 499025962 798639890 267592703 123011397 195210518 929989067 489647502 666373626 823088123 455737290 981274952 415037417 934126858 483165643 295645049 313063396 221193359 650833454 424570950 648656589 130589401 124959294 954946140 516559604 748097242 344663957 157652821 983497580 270460949 589576186 934143593 413543623 764414828 737007887 175350541 633008358 129409181 730518899 989032973 312565309 389312210 902715127 532614920 222277984 175106049 835173756 454524225 980405686 421067982 152577357 139200921 732987980 788803365 706859662 432775147 283462046 698557151 546232694 761391512 169514348 553381712 292914025 457048284 905657581 461946152 927805558 142724199 390203626 268784459 699861092 927829504 820948262 848254064 945364861 974883746 815657476 833071137 212865665 284769654 933997768 849834731 215240948 146890662 747966578 132570757 385763391 607811598 747733194 316335286 124282523 582925640 593368389 521165808 121193391 136765679 134698336 937103476 895138775 539980339 876149389 334232941 167965827 206913168 910730076 852813396 809326818 206518812 916118361 119826645 884238737 464987111 296261176 378336766 414495244 876926532 227192806 111452871 332086283 813653364 809439959 911464256 843694109 445453088 507102179 780450764 500413872 956960687 451689213 335914717 635931853 206724527 705741029 935191295 850840585 988547929 988852066 999526962 894592859 246111442 144631789 714227659 716554649 729724015 122827409 275468704 369964269 357482810 893835585 448992768 549865466 676540447 879052653 983349301 743211200 857060806 785749474 440900495 770113271 837880559 162340651 568210761 300272302 319981707 279672137 567604630 383376986 512794105 804383111 493371747 490069156 507263671 450262799 221807955 958060944 507985051 580186597 469591201 102896170 273399576 460871623 566308811 181358944 600809078 171907943 515630051 518716834 698414237 551528237 561426935 979850610 970398917 926665450 711414790 126308809 169562099 205643094 806709777 457667510 286206043 782907614 612515272 883707554 642852757 628716521 996676551 476749279 832951103 120878162 205514105 972276490 466796943 828722582 926142977 979223598 378702790 197719434 129675580 941541481 738040883 854570455 869444281 823869628 527326807 886088637 155571389 726077588 406360236 836821019 777085590 699225363 623054735 735974363 189840922 746046373 289242811 799250586 801971558 145485672 820828597 113467441 317179022 633602342 515709995 109078521 748766656 873884919 938973536 737564810 348047361 534051499 535943578 880115584 502407310 325138685 791221456 500193030 798273021 273481965 152223588 230278159 891556327 552219580 402249836 923779382 904341701 124417913 636161741 934389810 237515674 537475227 177015634 815458144 963685908 282406079 619255506 175339322 895564394 884873619 474069080 973730145 889081708 570858315 707830724 163266766 473185735 534336406 231571434 845212250 165628653 157167962 702508336 545118118 225171593 918088257 738409145 936696734 363471280 929243781 526721568 827222071 732843981 824112816 478504135 535743414 229516856 255291991 531698727 623945286 181808348 677304217 622582669 819778656 501259544 722209774 199536900 926829423 915908996 504651890 448529262 357710345 292818339 108039318 401445259 362930765 881551465 166762923 134474141 882021852 639904191 573985657 780000147 667609938 290783275 718496702 247848870 241644196 337677344 339710908 733625044 336884827 816427550 100376045 717674326 588001655 842341328 351413784 403957864 813543275 522247421 663605960 482670512 465648744 450920282 130799679 140865361 290224935 276205606 561286706 361741815 218583939 731378358 867199571 568552958 603251278 689342731 508203411 494859048 373787716 569701452 135461464 413301996 874800715 102815578 871769898 726881168 996225113 538496087 151949791 107652588 577002546 279092969 674654608 754796769 545262644 680170184 127637467 654494045 651718947 633900375 411301229 745430976 143461875 453640809 358345099 537962974 824853233 521463081 741817541 111147066 110783836 814470963 317169470 462288242 339093499 983228272 871957718 711429840 453113258 503348621 487154934 890679292 312308593 707971740 398595427 524165086 770302574 792351003 520805721 137633279 369511115 170775389 396938539 556680858 113077877 284465853 975582910 866078349 316678519 580983428 710930651 709442422 813196728 928454818 508232278 689369522 848405104 864782376 722740819 543161485 534706832 773147550 900969414 308875322 433094534 158533398 954722161 434526218 272042138 356757067 533290780 380614391 194730586 602601761 243165080 602423907 880689379 680561771 754484988 339546093 959195220 654718364 330812637 422070101 314210489 231124647 214204970 433167095 513442692 134383236 290521921 803756447 608131616 477664120 732486546 495971387 603280949 300291625 525668784 463391719 915683967 578246021 109113931 716021455 998774111 786188111 149532048 366985233 237962939 157266846 201067779 133629495 228847095 111179293 529444184 786761425 927546136 645789624 360690038 164106935 142976905 706855135 114067398 748577628 375939593 666874242 530151445 763724077 741264904 478506901 227903237 116919368 186634074 535808215 219889869 476105071 190584990 466797400 424983928 987206680 637018590 616724038 365070562 491773656 559615986 213131793 669652367 158651176 663739650 690705515 180980296 360973483 549266247 101464040 982166868 463255851 852522244 230327641 249588930 216096354 787730337 373353017 211089900 866836659 570837451 583127164 449549984 164443067 174140790 818727227 287340542 795248827 379298969 119789781 773895403 582637045 520283607 897454078 303640375 985296797 327921496 399052468 461735789 103539649 221104551 474922387 976942461 697264901 217037220 300146251 541535601 953973911 608634521 230663743 662709230 174319908 864736064 258155255 321381056 577399077 743323256 795104336 900483266 675862421 731755240 841749886 751251969 865661977 982229212 762081915 854412553 579893740 681461114 819283762 924391441 855355843 687781140 971223758 549507567 117851855 376203420 989421140 455049855 921919581 346018967 747787420 546201999 778070575 965597806 345591230 509912933 444661778 186224928 392902224 677290395 687058696 848290160 410102444 405731046 143799693 165669413 710987540 741210935 368376607 832058689 164573604 393719310 387025113 203773101 270472022 669932824 920726784 357938224 379287040 439017559 964840803 128306790 343869054 691593873 590375790 380371435 557839029 991219419 642217440 569604250 546450642 645495091 466704310 313485222 884334209 156859740 394677606 272953118 550840585 152875724 492104523 725137012 326784110 241252763 661270371 720016347 873640205 166051886 773478765 326480504 896854726 228684551 809246769 331627919 951563346 348011547 695976323 889649421 396659554 868701512 783288311 776142946 256874836 777408308 521693366 641535212 359954438 425953193 321323525 241036615 740193974 751526976 304186290 629349436 942114296 633269002 205433552 892281531 383175269 832716854 125539349 633765340 220936469 686697755 282686064 362952065 184562271 711537128 484558642 224702607 372911279 378919640 911900565 903971815 351855989 742956798 625679489 450620491 126561043 306361088 834108879 763887369 366462910 726520466 629149580 100430503 110925484 137082917 896193441 855576462 673385092 719074392 888828394 470224885 156048774 326867480 850058848 597353463 637095329 168761925 903125934 922203372 332623652 345195475 673342452 201649932 513491068 672733649 936165909 329644446 355251790 770620055 360008717 503871708 106656092 572239603 407314978 922889427 512237497 992613768 620796850 271581130 853290095 874252681 641859088 961906349 977296443 602880608 377999465 926740596 155664113 480449521 737714188 718259776 702527994 735772096 450272105 247110708 530742369 548266099 592586937 748283635 880651423 724399496 104441531 415361184 242759637 589247039 533508619 290959688 108007033 406235935 311000473 794985555 479550081 880380810 576634724 997212387 890479732 713035125 115379936 917978007 835510699 918953779 300265946 624472113 710471447 808552947 834001422 395084187 213679134 148765382 259010483 981085875 772121677 132681747 711205744 635163698 525599641 241596339 500333167 336297465 270066965 840297736 151597293 650771662 606972258 905586624 388104496 544975645 738895460 107981067 307714894 615872757 965564648 647952280 482805160 954164163 731297272 863026739 589320215 353288595 459545325 559247199 282262638 465192451 398689429 663193607 841418500 594861874 609154383 504103697 694617923 550018627 156863489 760752580 524074445 829544826 520842680 699508963 472213078 615325045 437931215 237717586 340812084 210258585 488856718 904432476 259857951 371275343 605257954 922613048 233844666 350809199 744492722 863401657 857937002 380244898 682404066 121925671 394769882 769458005 821827281 944795717 636760171 940665464 669488607 185967220 420521738 261783891 345870541 835781202 661000197 523404102 838051983 475535079 984270489 490135176 362636052 188562594 263484546 473575784 242907587 329226570 785088332 451896495 660932343 663680516 258250953 237129180 542785393 887224687 868957614 816777321 560048530 131946891 680728091 336040794 102804843 698397723 143098205 929850228 739837347 597827475 884695027 706145393 117930123 217439681 420758940 401413137 298957819 770015620 555531215 872957286 860891303 998081494 855634942 941721388 501202976 626971401 775169628 726483666 457491909 157379150 388728493 470304244 601810578 811844079 431270418 263306382 455357623 516183570 505973857 462717990 565311395 829510268 643247275 617010854 931884986 218439012 495749505 353381208 353516764 479042749 367405803 527495577 612826927 639796979 209548599 691048851 996025666 115476688 752568662 964005661 207594442 450962598 159177320 776307474 670001454 183626871 576493293 908177688 376669835 430436066 121599448 573218774 961963550 831440958 876907601 184929274 598805902 156288815 210364584 937768958 353414910 336481021 888907711 877549967 104137839 872562182 894776390 761298217 724161514 123048538 573549483 779293112 550964864 405572021 504028028 980440965 169623888 179806591 352365152 986059933 296082487 134193090 562314514 788028274 450855664 548757724 682326853 815271864 395711899 661642922 152459359 280480934 277509083 452891341 290627097 842147749 417175696 810115835 430481066 309927395 884992062 435637294 611907166 295277033 459485156 531674217 963500753 324535290 725139374 516292521 248129182 985795325 395661710 789177522 805529742 133381288 947843747 582184808 492098831 575954135 973739602 863148960 408496655 101746762 579495309 682249744 874414549 890761705 421746812 886354372 178701752 419176808 706974529 916374208 685042481 655046689 377265942 657464310 939626524 537128262 473872802 424440539 791011103 905919564 870438219 410560678 486095307 632484443 926778987 461538032 868351013 269318290 420780455 883095592 345028543 648927018 519032313 771861411 731036683 274197235 144803025 417699077 235893610 470010175 533042134 510211150 111188699 141516257 100118077 620318742 911490652 200786270 404559085 169680540 829876769 594479426 953642253 134446973 847619031 639280095 497233069 437279962 716790038 186037999 564227236 494951322 552346842 987208974 992989979 764100822 122366587 388205806 193034350 306747648 500282073 932498135 383316063 501938436 911924491 947365692 642733528 307347326 678646060 245666765 457305030 971221464 260273685 796557241 337407603 384884207 839026021 886258196 590207723 781666142 663991751 884034347 466606671 398432010 459237455 319692031 956479994 293244165 905013027 305951472 125214868 201986316 512726018 379294464 102522304 186222317 776434287 790024073 552560195 591137034 631788529 372370942 876884683 338431864 329045168 547591540 195628874 990949077 588008514 935696010 811422718 283332119 885818581 433418257 214707717 209236776 412785055 782667287 910666665 760045104 835396231 430356346 297303898 157626935 849584948 610145598 547517772 779979025 736856793 135867201 661158437 570930793 968628800 351265167 478575306 527774753 980228925 463917724 944300429 476166492 680109711 925092294 665008897 721696745 732381642 434565044 329586077 803470374 310880566 485107564 427727209 546042985 575424967 477343100 182087113 292116544 316286935 317317954 423439158 862942245 808108031 549703683 863573168 846077413 200622501 399967223 765398042 873429224 640366106 513203358 508088643 272940062 461643638 771111785 250610651 749582418 863769020 382461443 182856874 443433783 857211712 227253789 517706003 852083929 218628382 111180950 489042112 840663547 819715568 687177469 685600949 593069017 487667166 801119868 342525982 214571027 732787572 612936048 581610275 463530403 805864115 344524270 626414124 134479930 356385621 575583436 944439593 975306121 125883338 871960219 332588940 973997683 350432339 961338926 422829732 857197181 409728639 462929691 389084304 584654100 173744665 718743160 138037633 834386772 437662070 513239710 928858977 775871547 479773370 804832083 270557374 486338100 463130361 372794914 186374389 835238197 448710720 405284933 239393224 672087229 828333078 412903180 223773136 899545862 177835241 185038236 999908660 450880926 712236989 700288403 222366210 186325645 125881961 514475006 221029829 842929206 943944588 360107356 177578488 786527406 346404328 149823029 217750227 570798900 857383613 722740034 250858281 985114956 748333094 773979948 296638590 905083522 643532322 958261143 400156162 411370665 908451135 111854375 567733378 477706254 541644632 550345960 772247372 329451270 283760374 911924787 284133545 440703426 560569452 342611390 907818684 760995167 573219082 246976396 937433340 952119413 660459821 811423659 163927418 295867302 709122287 766017131 924512714 983061510 691625638 479721504 767102226 563413848 656453161 682797124 566213895 726165318 860460532 641511682 101809998 678073722 991005710 404792272 682945996 795767392 314989655 958326207 224628565 979590206 537217017 737156221 451617566 929327855 441524832 950756554 578581215 332922022 634553159 809405018 863433853 857514387 456587313 866735019 207733338 802416538 611485677 777479038 946792569 490274783 667687283 695620697 900664489 142702707 613017378 930761588 876195349 665651400 579699759 405354309 771656002 123055372 595396552 757524480 467785349 793716979 129498097 111374271 489302716 220843711 260844315 627329081 828370419 825485175 766517783 614923310 249621129 819222778 766014077 611423301 438993587 815507300 312410367 215984695 225771549 958830346 866339149 710033211 493036513 792506229 154922747 492878244 837110377 315391241 442862329 617727249 996705218 270481803 767841540 252308995 280680692 905661768 118216732 249631568 748008959 968220104 977967232 205721044 302260531 401814844 283637050 573525467 640010179 498655762 616601632 688459643 862143288 649719776 144352144 125373108 672780244 677923428 256554021 160450431 976599768 157222214 738987177 365287248 596011132 781188943 389426361 529058910 968917828 973158453 443125362 833683419 863408597 980779324 550373585 945182590 157510663 772244894 570250892 463318210 916931948 631109762 718976847 668293977 991206557 435044802 630721741 796699424 861658951 704072732 307334275 456447483 389202116 676037162 461212827 332319994 949235218 481683679 987146269 667828181 288436284 510746988 928626622 727393738 893956580 608689433 482015241 135138157 824690826 581932803 411716613 901645509 857173477 822403490 773361882 919179800 275564519 784061978 422058706 491776753 225014572 792221669 422892134 918201430 369018757 926981588 198637944 172209986 776436333 469826241 571407964 648782190 937216050 330864383 942845267 819973200 892585067 501614665 222754519 672742376 951977949 354833079 479150138 225288039 105204389 474791505 617364400 122609591 593610942 916463021 409168995 977119199 477813446 483162410 750212262 375966984 335125487 609349213 305092607 530010501 312506575 286169062 819787813 424855657 957641555 932400642 861112399 782811831 788841331 672141104 453006572 177161770 798732397 295076312 840223327 493430380 430076937 414207033 646302727 422309511 773138938 990426462 205850662 460881735 186319874 488420475 357508146 315676454 629623032 869751825 380283234 420207179 582121995 822518783 303500354 930997139 929512081 654736734 586011736 736543097 858476438 564473936 778729680 456549402 928179060 764261983 291197098 501214673 769843785 572248125 212899528 723181293 411583370 918640247 962440257 627462586 306021388 143140360 960723429 922442435 422773970 184108123 665506421 983122754 172190664 803585741 831672859 491709184 352789740 641928320 188380477 170211468 635493464 616397650 908016485 332731506 835165022 683340964 400419555 793995065 154894294 131408358 464779148 311675071 191078155 560937197 865040217 455258480 817428207 279703265 594000094 955279503 338971259 160364692 984881599 278227661 404148368 104508327 200222867 836151262 362320111 844316291 986268177 549800724 835616084 276022171 227056515 686948216 462901123 525732697 540708514 735148092 546613367 867527560 977112062 418299758 988982647 865930050 448715869 885293425 463549605 828007443 686955773 576711340 984383680 627518398 371288554 507970833 877313490 833228711 933100893 385477020 148985152 749482381 637189911 878112084 988495048 633097925 678728269 592227943 583801232 774639546 841013680 297441768 941313117 951684351 264499780 349263840 557261080 624488316 804133218 554520987 544229154 981675540 992512582 810016617 586819930 481353543 839420357 457210402 105504845 897618041 979216852 314855616 234090107 255520193 879379024 455620452 849531959 389265035 774993256 184740534 916573213 489475899 893985041 630119740 956563787 537536981 247368361 958225452 748932817 933881839 116645716 890442333 728108136 459553166 983955860 739366097 827680546 535857626 205862445 969749277 782528256 996437694 646272372 664869446 236259692 474449583 304735175 508155444 679380987 322319150 484350945 360493803 486201121 990247432 655683936 548269523 476212812 586101230 399908000 990376270 171462518 212475877 900096451 242030822 353096561 903736514 747883448 748517076 632597970 921286434 921811830 724241987 374979901 437994125 721370872 318184713 606289567 115625155 486458866 204741443 957352033 209165420 768293281 966091284 418904495 557729266 274108003 541792344 415382341 446157172 802094650 287940656 654297776 744093238 838659433 781760444 408489741 118939235 349067321 556152019 284360710 496421194 966889565 504450363 960191669 438034180 742456513 683130591 161845412 280565134 590404422 471759895 767846507 958685509 364929477 277199283 276131278 420976586 175328658 787279895 991477573 743671189 205482254 607095149 544521818 607081247 423296802 723710477 625024473 863209167 366042222 240677427 942646590 670694146 589547683 443851069 843094983 729160251 486727170 146309304 216555466 392103133 425599866 709586805 736645849 454096168 874188240 821080290 181714210 779911824 119135803 316650445 830271665 312279915 558858264 873068462 122063195 484924814 442447311 632206023 441448602 699261980 471514313 244917333 986040091 992762049 288061739 924508139 661592214 931938028 487816663 468518915 190649121 698179372 670249143 702448553 179740664 452067194 641093147 107011119 780301065 375082121 437126409 609621000 817509476 838520942 108538601 157148707 592593971 925581730 839440091 733310569 151561019 211564003 458987457 764480645 229387925 183146062 202190046 546871483 242579115 517814723 976535661 268484865 228781482 990478137 595231709 287863662 379952965 182063816 124763685 229411726 543931310 896251457 565463879 582923135 119364366 742616413 862006653 879455461 900461218 634619909 164024521 537838410 311491787 788311029 462330472 697399621 274778728 521602700 493340493 462021658 356917086 312800756 642245221 451257204 828147778 443896851 791961499 760640173 652442831 902825296 564115334 294810035 892482873 922688090 598092182 352130008 499539210 743207823 296317420 982116826 659191847 272536167 167390652 742332909 111556277 419106520 539764060 269350196 983532191 527812598 426890595 104238563 442504838 259939083 439471805 672160706 471056639 175894101 558279859 427945518 665045635 318007998 431413063 993571938 326238064 219789912 572621454 913561298 905597303 145827346 196600414 949417820 266325469 871953948 561009970 561041261 769163403 618027820 812455831 506175807 529080104 324790489 952803207 550787430 278278424 190135605 778750838 603651889 460355422 691717647 295015201 404064214 270927421 198538100 316999196 129521148 783936991 393267457 409923902 336655866 545729641 201397369 735370614 223239964 870727577 108575986 694279501 180772657 580888327 758911005 716686960 106680283 739961814 369496790 719345383 881929259 887080015 707037529 675127405 951120757 397369911 293452787 721246467 155330248 890517206 970336606 756857633 859194760 252834958 506348981 292708498 983483344 352299975 265708127 511380755 345718185 407625294 679600275 392406019 605970324 445327032 152296985 322665775 670306191 139087028 786078756 562943783 181516862 828308862 772612497 428485504 725606242 715051455 363932656 325119501 516639627 116244284 646011225 399865906 415604665 882564573 643679488 608947046 867090384 975611575 768708882 436719526 829313963 732969791 523896747 268552874 667172235 177462896 240005798 465837353 341588206 370053754 723923805 850619884 511277704 721647143 350562719 306551472 787516011 258948531 886677733 368318875 208841539 125115678 410203719 444698588 903678633 301051581 573792753 851028594 413175283 717183963 181772787 709789743 349871380 233613268 191183545 435358103 290420974 780368451 906208606 611717710 519978809 542646374 859978187 674151858 767218628 692515186 246160836 222191378 652991485 373856940 960828105 110894987 608332503 581452598 155211418 464439991 352361246 543824494 199114788 323884480 347904251 369739282 537387216 175242151 504247178 960568303 488093489 664753313 318544385 522441634 873105052 746592331 206679348 493656311 832739828 416847610 962871045 174840753 487647528 655850396 988879936 173999723 858213309 703292783 286579216 916616605 234137454 626011766 273202005 656411693 247905879 571683982 198744633 920155855 415723731 543872003 485990475 627916850 276443521 422743981 319347199 351270577 274111269 929530430 907055340 929248757 965057236 348532378 783317983 182027215 836597357 628643205 511312288 736189963 276367559 105419914 752171479 335953059 688725067 310578618 650062910 287596368 537782783 447975872 307893619 675935807 110548008 433525085 248731772 297222413 936400157 907141282 324644835 670520460 170394317 262126914 717002961 438488102 537757275 547753621 292876586 662527093 293000018 978673273 860095492 604934886 889364320 759270864 934913187 777560726 466929467 129046267 987990536 503780403 663830620 218323598 502466320 503038195 147510586 778579480 127605942 297018768 651507538 302123816 107155712 999164734 451978240 133582582 260665381 140387977 532924306 369604228 814737594 561847878 785423294 398822227 297739209 633647561 603109725 274246034 684859063 470487525 958063044 569631554 670826019 842381906 436512634 744818733 292000623 275177113 661701597 344485490 595330330 981986525 112186606 317072506 615982238 332448125 281442896 280730061 332607939 852491707 826932558 887332012 330860618 232005476 283881527 432096910 766749214 747111651 269423668 311842146 788979596 562378664 167727877 252519003 950688197 836237077 741864023 441420913 977803876 567939832 167892623 736798511 514550229 792775588 849233517 246613926 412415732 832893503 507373636 365687951 668485237 949090829 599599379 325660185 312766437 745857967 498107769 496598813 117747265 816819001 539753831 727156849 729864038 830099825 962676963 573878122 830020900 887954304 668986880 227072494 116431335 818078269 105894323 468146380 797469795 474094319 762886617 560231177 792696962 140910359 475962511 802137698 504592643 805844565 689234128 459757501 120706031 227515601 188897725 145193278 825677111 469554494 443578913 730693761 665953818 694942190 829446035 459040063 215120899 753982302 370593429 220573919 379709343 782370727 536410725 497807907 791525121 167859602 651264721 936694781 923372181 213850577 653320814 663246045 224195566 633561032 318092108 594678835 941763788 641438961 534983093 663037204 185727258 134815581 751838683 752752438 114682862 334348697 251788729 170460239 572096444 574019224 943205733 639441639 755820416 669848466 472401791 239767617 134331840 194854486 265046522 787799450 854714481 375775513 184752352 574192848 679474311 121990987 918330281 898461219 321600466 786040605 405216908 843072596 740051285 524303954 223938398 684276851 503617815 124382952 838286436 852686298 298247845 794993078 180764861 572274971 301638684 251710764 665698021 614737377 378516810 803686938 385886558 956740295 520124631 455686033 432989838 949186715 310688957 439582636 711341083 748990488 316551462 102564663 456845689 926193634 250006968 742214745 815370168 261825083 289276208 128470639 819564887 828775421 375370987 877585482 267972505 773407029 643366100 453738709 644121959 324462084 374583772 678436749 326461058 264734945 913874583 819913287 499484681 242905420 518900201 554766855 751183959 106255915 921440137 427977920 174744013 907385366 574827702 203410488 610722309 451433993 750906044 236791951 137920533 412688364 713596692 822589759 171883614 841407363 462616930 958001571 249255605 565380976 936078765 260449903 366244549 278000947 519501999 692496097 342440486 790166574 932429456 754640280 718191578 523539009 763938594 372073766 988714436 361518878 191533684 573180338 810443644 630457562 301516732 770193183 428613286 983951900 984114495 553751061 639931328 349033906 652862651 355358329 175562777 464151552 830143517 499423127 730975989 514420991 457008106 478609376 708617160 805139587 286990089 119054793 655090465 568515333 368435698 475800254 926994459 610807714 523204189 794753207 689742633 386180280 599511319 333474731 820760867 829944341 501793783 502660228 608142262 429522836 441947964 287874610 977511379 984376816 148539294 719766392 114162961 657061868 867060913 232336248 131959801 831431160 621894887 111759383 299388988 547263238 693037207 488713452 811524261 521033534 277539692 727477596 876111985 236437268 200427987 405783951 440763228 553508749 472279467 856292890 198812035 496026221 912104173 536203764 890044819 368686429 332703025 132905708 519317999 872107673 251957795 736182489 181703496 322269482 737024591 178450614 945764599 734605375 168619645 173847061 180054858 553555007 280893082 197596922 377205801 407647937 302698177 204317975 534053983 226406942 472235432 722598221 479496543 393022314 275169966 489168206 157459137 707059021 243191750 418815808 610079645 520377916 884266028 549543534 841597604 566628729 880073015 710472751 365731375 796637525 770709996 184394913 979038148 790249822 843197891 293789993 964499970 807764045 541927948 828973302 986377463 857119928 928637310 286900896 662965671 845600052 743380775 278336229 296513785 552636726 601039432 557628044 842033950 814840783 305522842 877327782 117299989 774795377 334914393 985507586 615393705 192730596 907386763 166624360 685008831 985074687 897481099 476858931 318744610 418298414 785602781 976924078 700971998 850437683 728485952 733675374 659260499 443066455 915480698 993822937 600073132 200839146 519971596 102300219 312109304 754218306 265144273 569199582 909465538 430858795 455390062 930448836 458522518 470141394 361689644 973788583 140113814 416171738 697265816 702810887 307289704 643589349 500204546 646461641 435770833 746166401 895345688 842106450 552384834 330493642 145134175 519593293 540174150 264844167 596232496 639317669 524047508 675816319 960589450 770826217 232308870 922092046 551674954 926037283 669725147 791627048 284580737 224427209 883908956 493614060 160390564 296868106 105953395 266774667 450123283 547365818 365038386 851276539 298331560 711793177 288793935 125177514 774333148 779908196 294930110 841604634 168717813 825208912 470749368 603124688 686684248 783862794 799135958 478999373 501655253 829124100 523018841 849837218 827261360 524487313 268408221 645637984 986991679 149008413 111648634 108018461 628442151 682235944 380139650 120773093 779800398 737729706 206413977 679191071 319284530 622676428 162013076 703530364 988222094 361718118 230390913 661417450 686676736 270003494 911436817 702418811 622922996 111332397 866284267 801862595 178701397 751513806 590606668 189957090 316419867 988801008 376971922 849839995 290629270 379370681 247723124 487565452 384441450 261522140 405278140 826111400 896406988 870906003 369733248 100182680 639587970 248145122 308058429 361030899 924069341 603179236 480848646 197334403 246923916 408861776 947445670 431299165 253764817 379524947 241655496 481589577 172010177 654957675 694213094 977864648 697388941 948109771 637555126 965846190 263383310 977490845 184710128 377976241 729174964 264269914 169941721 837612813 424948661 930528617 562509818 287351293 924711939 455756280 865166916 919383415 816564484 108821930 832362022 440633679 338149409 795776680 155308884 109784687 214168402 237971481 258184093 796913121 655763882 452801247 149780236 985167905 362573987 674924954 160878650 468180821 685006600 631037730 726224487 530732912 234302922 154811891 822197201 137972832 807546632 707395742 777865403 676471450 132441685 936267021 767438702 508525119 664446024 521331663 486092735 593145315 532713618 485345839 856464022 364341992 385149136 884067039 735722048 162800037 708658354 954222665 893466641 998833558 627374713 555630602 201423078 351731974 810528064 470659595 981006295 722024551 715909188 288136518 825309841 325301975 587258416 491305249 488556289 726857806 917166053 830201291 432238562 874176746 493828813 976430304 971386513 263493564 785181875 558283129 368958094 785577261 935341697 515742170 627286208 458040466 557378019 968028668 748106758 271932544 660665466 967945953 380252614 591469860 949376882 664845769 878671310 119488374 847354281 814001550 402333181 915383512 731686015 874121707 779349513 997032942 147152153 402414036 654737765 532829440 126192612 573020793 213415824 129452032 292152511 911520315 878237295 976223210 260093172 760073765 894990108 955949902 535682326 117003046 770195466 257909252 462119164 443968117 781669863 952203574 374301054 555613061 244278410 379254800 755460552 312963799 614371905 117512812 896311764 786528037 450323647 833898767 694963326 770848909 875796597 860747590 874259378 661664760 317185151 132889200 594893677 503271209 943540985 625680462 658756657 824513635 467696327 383169281 385882646 568014118 651957942 520637410 717701453 773760124 429409115 281880945 602022048 786427616 189840974 478905142 320012053 910158712 747334335 139384419 320102852 992397513 757847293 201453775 937092182 515034983 596629554 969933463 927906370 281715165 662185336 965629441 701208880 181868627 158820233 170115998 800800543 979627179 351257357 120453243 904210664 371841483 842977291 521012717 853657846 926976545 655705053 655733919 707644310 568727962 528102389 303448925 956165325 807308826 825406969 277775254 847869219 258224054 714379384 299988117 671554345 369556697 728281597 374555642 244912720 509846792 159149189 373823659 240901845 920350215 437518675 556088084 904722680 471319937 455032576 326035608 686316679 652865121 234362967 301962542 182373872 683434853 593172503 547402965 301238343 973436593 547536559 926891575 356725908 124288532 665834282 808456282 417739671 264754861 719570983 424679027 501941791 688742758 424969070 255535178 190533195 324162597 867632146 822012438 545146674 542274680 137138275 168180513 810690832 334953108 681204578 301073913 938652091 478469101 818398766 351007859 416739257 717021125 752745601 132308613 212663532 741687135 354577627 895610610 659633166 378511535 959660077 114051728 715063454 477057450 289899382 942678030 407720711 305355660 105395771 872696709 295303573 372932433 862562251 746925815 326969416 340509280 382533516 808039376 833860054 524949844 581494307 105570132 446205905 110539572 756853960 238405862 367628717 585649988 927559209 938670292 929440931 270601899 889312851 550202931 379663593 328107356 195107945 815021798 117837337 364135916 410231174 348062354 781603784 317318763 648982208 416131914 228313893 879068951 788943338 608638499 297625154 340548153 247091245 850987268 436994249 355912830 999115150 679929442 109461659 710395152 286890767 674233332 737669934 189208413 241403266 821914492 831797380 304031659 510016795 441010437 287740650 305899381 937463936 889191555 820511908 748443904 304796700 827803964 239687496 269123094 978360697 725849650 312950506 991262776 128169895 669552834 195500633 243050695 538679249 780715025 212095713 382367887 515312650 622746896 859741732 278710074 760256204 166188298 944224268 659827561 997019590 699597679 842325564 355697639 596017480 516106312 148323452 447462930 330366184 115963875 930293101 387905526 505345351 593065356 221225026 111522884 750538992 471051139 356154653 917134927 350005662 495901297 857337131 229833501 330628698 218611656 989530455 175701907 263026453 181486120 979956029 448871391 169040498 893693936 989061278 786474525 149796485 584565513 537530567 367752721 738711580 609391077 496970795 800375888 128832317 101193432 290632421 733505048 531363870 256715499 605619430 842923342 587128932 939369231 166413709 315652046 940642932 649024031 672196124 454014039 652482409 747401735 713006400 303822584 320879374 975133057 693833421 881581080 651419782 726237376 952211185 418967365 259886688 801222121 978913943 958707169 430409896 151392107 374242866 931673282 616105462 232240958 482806460 503154346 591137760 180212275 883771064 505898935 469676370 903008799 866208664 447895584 153947756 404950011 151016633 471237971 251891083 505414463 773283899 543607638 315685700 469441839 528340075 774552769 719835685 684477299 813625018 920000716 769226221 251295684 673738682 944308805 516337917 137616659 700797700 895325473 245478482 806607149 861326036 708513748 239492984 902573616 445912904 478759614 833467269 178616719 223431210 933939985 213631363 824384894 789303973 879030466 840861868 777421643 275674927 705026086 657862811 145720727 574040692 311647862 937873932 689881350 618462580 942487396 467644160 532220503 720394820 498699102 899357934 360688966 686454280 787664116 373308005 312959854 969411029 536902814 703027722 426379306 682789995 742499600 478279422 350615464 914209712 271742822 589937784 292668868 813122417 701791009 761398048 707997355 558613568 560312916 616847831 218247307 152028683 898904375 731378820 389449992 538391716 429294808 780407567 410109768 678686783 794984137 934451351 259425224 841215310 510628140 189122834 362106101 111133422 745391768 195146656 929503688 251224338 109964128 272379182 169437079 307055813 297597261 793881630 353863576 626159069 939065305 530878446 446888614 221408764 229310739 111853231 803472250 772014913 370740899 783960429 265914158 330417878 561152396 807590073 433287635 363408411 962482874 658454413 675031438 478655303 469702374 757197889 127038431 378320290 787312248 393183500 262636009 253976275 841131871 474097860 453675005 381630700 242482674 264231083 372218587 886805447 992360121 585639590 978750100 819178521 775109523 126425839 934316403 223804668 406927490 794652943 291608832 807258472 380889790 188076693 364498476 788889781 807092364 782795691 595754584 414821671 242056266 847077343 942491057 409491272 545019890 441289434 863381484 980321798 163629885 887946208 701385866 214668078 679892104 510968725 255919339 192624977 586357817 367517134 108963630 789704512 416873408 974397540 505123954 918636143 938909417 736463918 383494793 365182704 753417303 118176817 806481487 874585494 255910585 268298184 255896743 693484399 531322483 772097902 821792879 519122382 522288338 196471887 801304334 921215518 484958918 563269523 638445145 460775416 344993169 853910328 718505943 431885349 875630651 843324433 815662646 866744314 882724171 101211572 301313269 831655929 352428980 998716290 362767958 448051656 360713762 220584851 923699895 133842522 109007662 423169474 953855695 413179688 823284035 536428698 130781084 873992889 312311652 178692598 389406154 237679087 964695456 262428418 696727940 613127583 378449970 481380049 841816089 485589840 685395340 182793070 552469790 793820255 267968912 531999229 143799209 261659453 464763828 939548830 588058039 558428833 977984150 203904172 549267932 828619245 117290844 821209975 220945156 147083800 223541590 411681908 342326513 768055038 845468333 168137360 206856637 922073754 714758718 768909877 956937854 370385332 377510258 637954507 513736022 620265966 576517125 689730088 711134130 598679327 750157948 870336812 790317985 914749510 269342302 816783439 609570178 806123792 591355666 741095783 324474472 133458761 307986364 588214438 464210901 559880892 797933538 299873976 219857051 210483238 963945851 896076308 154100360 556250692 200213042 702383954 475565635 104347488 195571182 245438044 969474853 543082351 538286342 508898936 592484440 379779416 692027327 140534110 367847861 368041938 379302543 562727610 496373973 946684327 426391390 583951545 351627848 338412547 582848275 110719613 292996849 197311732 700261683 142681527 274871709 394035174 663016170 646860730 238432185 119884658 240140285 145052835 820599772 546115260 285270586 562060359 361234371 895175783 418823474 178243249 106352325 971060258 337509105 442353684 659880077 230239660 273651966 571620213 434832154 129548937 507104634 121084959 521398997 993522850 862613619 458492175 141698211 748046693 711480448 881273753 114523650 737104113 678665525 253949343 899795292 599263117 980730269 883407391 648298222 984791637 167153147 929630977 713809728 859055214 781676786 386145064 239566752 363432666 667796514 349940372 171570015 325119705 305886323 990386250 765032137 438364708 675389752 930242292 562620735 950917325 387027434 250727716 283846078 242285872 837186040 200359031 192935867 965146487 132806471 525571835 991950084 242217424 855967916 841542987 529408211 273502743 921519866 233970941 304364624 701738520 657718286 397241419 869752891 766599365 182061105 551966030 915810254 750547632 595746087 574401087 616084672 732354591 249252981 503883584 660140772 478142041 727341216 151130876 553134318 209396710 629698621 283527521 650093687 560737542 653973683 151507028 796598622 362138862 720044209 740671288 701869603 201743578 761759459 794154272 587874721 114701445 344567684 812687424 225309290 443564173 463523317 680492243 366824766 818198271 206269631 620463574 285392878 615791325 603618446 659349801 830641799 339340307 998321864 501131375 664145927 656926640 547412842 835094068 338480495 530079816 409208539 824154303 690094016 980789018 208016775 316386494 926286992 325682269 502818533 942111621 376173283 220681295 399310031 137610738 452576433 334734375 468042135 543160138 290743299 650946421 999940840 531234738 553443430 846665899 787177310 240309725 546379581 109845848 962300178 330546492 634488123 513979956 898050366 912166336 926408804 229194295 276378956 781851662 983424638 343443610 662447426 647654836 667191626 137932460 775216559 316900758 669414946 140702731 822473125 556293758 244877174 548724144 174848726 221052291 811415002 851590203 985473973 643507552 479107856 818388148 968259708 342324798 277547059 161446781 327882693 508241977 426835871 845840320 427242401 425591835 668414496 639781779 236811244 958006856 578846774 240197203 139026929 379421586 716204228 483562059 772437942 240230440 395531187 745314415 512032674 707254500 593104120 611775910 860255743 253650778 153933587 228130975 265082731 444402400 601913004 945532547 727715176 907452003 196875977 213163093 798980453 578305748 229383154 246025730 595819116 909079654 266178731 488138531 713966425 485413068 555498727 764448322 827372705 819017537 690717661 376866533 954723338 791322132 898226433 922306359 718162679 208693124 539158140 436631008 928450356 146582502 156252161 738290868 700472806 223194858 867117441 538218485 647450748 133107215 713737464 428963994 484368282 827076525 656529859 843129691 781766136 940144987 623866321 983548664 881441160 105838891 407511419 425726313 297262133 418470598 457724630 151767802 401470591 172846376 445019874 883944740 654229029 605203309 315556270 359394228 692312638 120420416 478320755 624921360 147394126 500092338 253833036 122832181 669271884 704347859 568299136 725967210 178600361 183777924 223435327 740360782 919395147 446066839 452694148 469902086 494676939 162121356 645538440 815059698 194420474 425745137 650769320 857097530 640624580 490181121 228233692 174127891 479668201 521841736 332574316 836820574 761788831 749414264 264861399 205267354 216230600 707274419 974660568 176606681 272292739 398054033 348518100 877542336 669982174 485979539 865175168 335060771 742662827 276804923 786641984 345154821 656487901 411851695 428443417 823243548 679396151 657033271 390894123 217946931 373068948 390006004 247733895 951108630 240118073 672784462 376261766 294792798 582880531 308308629 599808930 843897794 288898785 297360456 574403522 812891096 780030238 547533754 429832553 351781111 284026415 508998382 934266422 349985704 314340563 765675469 714508833 771741460 722086387 680870962 709335252 413121078 693293528 256014813 257425550 315637726 995511450 815755837 877280250 695373584 655431117 965186135 978371697 815428630 569332295 292403908 324691154 805702873 777095092 525000242 828781093 254844968 818136620 934104542 981866949 365276475 107927603 797609392 464281343 221325101 290639968 112597838 537272783 480848649 615522964 157780625 631736037 819130611 712252205 601994183 625873116 713682776 791735330 746409850 142415097 538704133 481298651 280825208 999242346 506604312 798278123 248944885 654010858 412949331 567833565 609551966 718635210 920668989 431661174 876510007 696404759 756420228 987825111 614105388 752075821 805950293 495094780 275681119 217926284 943612812 890067372 406271868 538080479 254809805 727282447 426285877 550210899 483564345 187466545 739590215 592667187 288232967 672977017 898311607 560234545 165604257 233447486 845523198 193372783 332888394 682783957 648906077 805806082 655172253 873726203 296896201 630726704 468010682 129508819 852264209 783253489 507459092 562803514 651198058 424847613 239499243 914438095 624025785 410849101 283044816 991150342 226872327 768018889 368703990 901304493 603938936 522892486 310205529 498866244 530092095 492135273 612956659 291759079 804856534 527955862 847894683 435077919 789575981 829386543 186290826 885705898 593399660 612246951 993388377 298525559 557703878 423661165 792548278 520649796 446831422 520315630 778041690 723509568 448830993 453947350 269831438 824495359 573086031 796758935 483500739 575838200 631772328 995870528 310510950 641544441 216563696 844036127 976495667 987747116 874099111 469071069 178787831 178751141 955410177 958016185 467549219 710504806 391096153 411309992 516607839 130457200 112696506 868351877 305844171 213569101 923133895 231590294 416911314 908707355 480506137 873220842 305645756 978318966 989775157 885980796 448181554 761927947 980592195 347578427 310287080 416973762 399003934 347413274 459851970 364609912 267179578 937248569 453158507 579726780 662219060 989778107 967383304 819359814 401278671 549296785 955214439 434807587 310434434 290639451 900872518 666204185 638339048 286556199 610894836 523658594 471945154 311300127 548434447 788337272 186705876 389167197 365875634 712426773 954816930 330098203 366672514 759541705 826523577 121052893 435691363 830677717 282470213 431202609 651496108 909607637 125925070 314312834 644505286 762357690 102331235 986761672 157103327 462418550 217031419 753737014 594788437 589948841 955401457 125754138 727238650 195333695 885699169 877104206 885742152 975494173 173292929 698680281 800709286 177444217 301440883 295077446 878782366 789053948 423076631 333121497 326498588 517380818 381789908 734932895 368952811 113736076 571496560 127135120 706645791 207288327 193895834 414456709 976564108 335861298 521603812 772813224 536455820 724023054 486850844 510943437 887602693 888841652 607125770 742843829 198369793 624809944 522177512 333254587 530141687 569991481 105411842 779355447 514183120 682214199 848882023 649427775 304783331 397180811 949121503 897225261 104476554 189860821 894987679 933703281 965748903 819113387 141677136 504224046 218725838 245396428 810684685 128275636 981392768 389576837 592756988 698881206 912353062 355546046 316603784 280804183 868855128 362141488 112976624 169266344 411111273 903285821 154177476 873747799 897593462 399676569 670737931 253354597 318585233 935879896 709915141 866224021 432357496 460597296 820324744 220548777 513801708 564855748 543407069 496000677 691840903 366349076 696337416 209379391 945518407 426772350 646846774 846252285 712924265 413145370 482442343 439480479 405054294 410028348 452535455 378812842 949779513 939499010 424293154 157166393 676398520 204406738 606973156 106017061 682347461 351578004 140442351 273318559 534391708 919680371 930755028 722609375 224300040 801491732 490907764 756316018 686862835 526099988 405131874 274297084 488177225 919191848 766507158 705967001 741231462 757230705 555860081 278945386 129075838 971715802 532403379 697664441 896940151 471396261 221265338 451899166 227091144 374384569 242709157 493506482 461603147 613022701 329679307 300231838 531512418 523930652 819359705 319543394 391509921 151866702 196158515 583570867 149803894 610419961 165927268 387662469 919068628 828600257 128388216 948418654 828066176 173304939 955760745 721092950 515123329 490640018 707345073 651615168 336322428 156149709 948070158 304949018 552981618 820237638 336695166 526258465 623632278 160665648 764305555 345562390 478326889 696224179 982542588 208483989 601665834 535515518 607920140 454784585 601452756 225351837 880173418 533850645 799886383 914153030 349497003 295516190 240698254 816501200 740578844 437558903 185100088 639478785 857906957 422972143 475938231 685747869 748527782 443010606 985766729 512087994 863744129 849022648 196771598 577324456 634241387 626195176 474393846 828463156 719283142 305161507 297118569 177834505 544521093 251724502 780882802 316938010 892956651 838420187 828664651 427250915 103491763 641789468 819197657 563353773 557115477 741823512 649914765 873088300 676091151 898143335 539151262 287637543 643323775 815245528 764743857 268904193 991848680 195700984 479622074 760568850 945507333 505933482 397444321 846563667 769194271 874892779 693364227 648707167 258027390 220450955 509126108 161798242 262316755 321337334 933088757 922911105 412375417 833326005 506875801 754460459 718330272 400616796 250526560 736928917 272718792 815996723 756012132 392935643 674932255 746401167 354713342 496043495 823070377 643194092 308062460 409410520 853138193 295971899 779151411 214508906 376519905 390261695 965489835 682462450 495602604 718864384 312451611 771302202 483713981 324593886 906408970 996831606 314505484 896546503 969729862 766380851 898618703 699665591 416409507 991850274 719716556 507571607 991003990 165259314 719506892 509335667 374764254 897136910 124866145 111468747 876716596 950450681 332935630 870940117 806107196 980780572 810675406 646982122 386918779 156962792 457654899 509129458 141960357 871969371 179352374 824448446 204945869 529254989 379072470 932650206 124794799 761900304 729682751 515481124 782082013 317678421 121248376 731456630 905870773 127503168 900140617 227437652 103580210 646047105 989207174 655762445 582108396 161236181 143951726 324851231 491232599 529779926 585569725 929123028 888032363 918579880 804590138 710493999 265680227 540007042 988559713 552207390 276774067 584671764 322590545 646372594 972190171 871048740 881381299 106755799 980661695 612463445 816544649 540951941 891187880 758234449 142963359 101866239 341567206 897743456 717312325 853537439 262186235 963612561 866427699 301719749 577802249 244932003 318042468 265918053 260518948 346849767 929826404 643238275 288301083 631352843 576771781 189077027 971077036 836414514 220306954 236321848 722899102 932607283 944666057 292257870 993296386 289904273 375155004 925278156 677881297 621305595 475268283 931377165 959445393 235671020 382769367 422652988 829363429 608094456 975906227 478066939 741681283 518186066 565322188 694547023 271988454 409793967 424272353 848524672 283848652 442176118 750237370 783036128 822874520 473448129 855619549 589961164 296036541 224021317 492772938 312439413 830156562 506345732 985902878 280386714 737675220 131284429 270359173 500198893 764054586 234313194 489675228 544238082 619401794 195068563 472473728 430681410 691484067 518377005 824310202 231179019 133229978 472619296 202221263 715078134 955401358 459154348 396553093 660525917 646080581 861922910 304813302 662052462 313734810 216901129 878763946 490820602 668564585 913940983 138988885 803799363 988509649 859566244 844021349 732881071 440985960 607801527 447957621 479082695 553329228 273293909 738941416 489258474 571563906 844679748 888246595 759145033 132983420 874842681 116705814 361117525 944781184 724862912 724661840 161404913 789932946 967341653 554768104 975022476 985411750 299410241 117692879 269776592 986997638 129782822 222892585 671694042 397881347 442772337 315678524 808061974 321001384 600399397 696103414 428579390 215793143 762773049 625512008 714863939 538878046 314304309 267728495 761952867 728666804 312791364 470496504 606882826 247346633 891072484 245426510 471272885 886120874 428161081 356246460 307217197 408155953 166112823 256864182 860354394 945344275 693556132 436523665 786262312 198985034 396615488 295449861 842362913 253700287 757198927 550857317 702252490 143411635 254626255 823506214 494444254 357821751 973800825 654474986 858162945 777447919 648924659 246333231 783367799 803023295 122008181 764522708 987108732 121275534 893163492 454341456 695091319 415369433 797900427 797313201 205088084 317443922 884177544 269492494 265996420 976611525 795533536 601319963 670272704 936316554 641900927 789818026 849473463 715309796 136916736 322672751 174649834 663576624 485037845 165976188 196809988 712486134 519300163 262039691 905162996 388285419 823995473 360456242 726361495 348799645 946944075 299975008 695150924 415843055 332880198 631698560 596845303 437488310 468328963 365695821 330395979 621336440 649546829 353252786 833600254 387068223 760587216 550505842 423171191 893390947 362792106 649886345 424245976 491913639 343632342 309153263 762788503 925098046 848025761 420843654 855503554 810910506 636196943 947463174 179721034 421762465 660066667 941462789 358730419 478248958 952456608 427865846 400358478 613638920 215170921 710173945 734108288 258200092 868227933 327935857 544261818 342853582 850160702 258541830 501454520 266486110 201805059 889277698 802472049 644123796 842389850 872358803 631572378 484361545 665419687 307320354 624123907 908252620 750596489 852232265 336810570 960319100 433615036 195571015 537376732 783268097 504370932 618013047 981349426 640163518 300542046 918937557 483819930 199097139 844373872 209369777 777773177 737643874 391695033 682995173 211537031 755950025 191664953 281241117 482873133 377093133 432242787 347197119 772890952 809079695 895893943 531533423 899896930 604396366 154924638 751426711 546225169 348350290 627017991 209862645 796313835 870572108 440650272 389720031 745118727 891705489 956922238 868169180 151622216 898704741 302491884 823910321 189722135 981587290 486789054 943547080 300221961 102834539 642937458 953469337 656516862 206626646 817845441 791621112 536061749 586874960 541813170 496069557 452785446 622753506 560348374 632251054 310434421 428739443 865208257 102220708 358069334 541945282 840498782 731024991 193505119 138910669 541974089 122083213 170415454 496787734 580838805 736833287 496398072 858355695 618378298 511702489 633293552 774302876 424148616 902571519 962886519 667167236 601763212 891007744 864828750 251555692 600923998 959707834 347560180 977742031 110624042 844704210 826925915 744446450 106199347 106114468 790395358 791718650 925953855 649254439 371134197 551324881 525555231 433409112 514218581 802872187 787437882 565602789 881695627 674161310 769340045 751548094 449973399 316325366 683224125 608379956 104854567 398239653 635019390 690652861 347313433 338454929 431585832 742732161 552253373 765657739 584967349 401380209 761802817 385244812 641131433 699507906 858573296 748890371 897651606 762910914 784034379 591482537 993675643 748257475 292613468 756668726 964500554 452064327 488482818 240532783 123131058 919172147 388348797 924352610 133221533 964339491 595112068 870019647 302857817 373838201 996108274 803395522 214149123 149352676 485931104 323927542 377179346 888867804 249861083 233101023 559399630 347586891 755067152 871572689 136404523 605784908 876487433 547431682 460691968 533894817 484928557 910452073 169385384 362281569 585616211 963881182 620367950 367535282 343149104 386519108 632540993 651333398 356334491 615567649 834239664 428195471 435525407 863408899 472220389 113206899 808629884 672777684 679832550 986204686 905610020 290740335 109576965 493695307 838065125 785748611 759488144 673195115 994283817 263759852 569738445 220013109 667564121 197152009 662081975 453842843 335454276 609904333 164218389 461489774 969350766 317705737 541688908 153155623 669527073 141421745 473905542 664144175 204009170 773564718 580305255 438560253 627490793 166035013 565736912 998639483 457169491 412915146 577383947 653419097 335109703 712462480 636633999 726678752 213654950 298042339 685863655 614702700 312151453 409554752 657641954 259411994 706855386 964016958 504675243 624773264 173128446 953397407 980684993 955554315 691947428 597711586 161833179 633069116 776184873 376756875 167249404 825430394 442975862 621191032 516790853 409334379 754858400 648884241 633337453 148300897 286683587 384618457 964870505 444457414 151996037 337352245 592457167 627077955 776335551 840233014 410053358 189309936 282100883 662872564 467208197 173968077 488577202 784555202 400253252 443864841 628114117 623658794 670832312 871119815 422090947 274302550 123511852 103863542 119012376 665802997 786827196 206382018 344659604 698121924 955309090 465611186 561883656 286269224 942277828 510674704 226734397 840033489 795051597 639663033 668493366 849178851 504638341 664371212 489520441 939755851 346919356 428237136 469164683 902717372 200119321 729495704 230813352 584704325 761567207 928285067 179419426 836825937 422394196 619203031 424923793 575739692 232166885 368281528 877125037 486660897 694334523 357405128 748134648 699403680 563197840 119985430 197534444 143739520 685326164 545725273 825024072 463090446 378774182 170402738 464805817 629455481 222027611 419792434 916830801 199202192 299762537 549227701 122443970 503951281 128062975 952757352 295466324 698191524 382789383 548700269 333955216 450481466 386319598 464790642 768463281 295466970 650519578 265758522 530806675 815465188 842298700 598722764 910664149 991945183 881291534 226730728 657847397 447216002 660785068 486504853 455818470 133952478 764006061 703489292 705903280 751808271 622940265 742644666 122842099 365908812 185251305 299019743 305009948 240134648 985325068 291067159 713739231 775837386 608519031 775837917 470705453 281061220 686376202 202963308 478044118 426830595 387280207 852037608 890886656 182506339 325073935 260672446 630727189 712789644 311533070 464336265 633485394 676191096 718881468 691501919 656062840 403705295 180223478 526032360 774589422 618448820 573534768 172811622 207433092 191201029 816493323 678515744 676056550 527930637 671404147 318949852 239494032 476775580 162957649 104102057 185137451 950517644 132195510 949278582 434009879 924357248 482774281 556902178 631320272 554369240 360599285 912651939 440533050 645818735 551300279 470069980 203227856 379920893 374457501 753091124 879938832 430050750 273848778 187265662 289099143 367220341 342161822 563248316 974954333 601143127 237414651 802533946 765155181 603158429 432037820 818566869 886445186 841407822 737219999 135001509 765735864 197420223 217122163 308883493 854369541 985149785 673981153 279909007 417229630 800342059 668466043 223526751 895097892 859431634 821283969 199755942 208463994 147008003 192660255 297417862 179199246 520898451 247601607 491824860 691922776 720201902 384743376 127631713 989763069 797338438 213075688 918138949 534201152 265108084 314968853 456810474 304484746 389325637 856462623 575484244 365927961 753292935 691112217 392776435 432506508 618588273 175366522 988097198 504189704 295210821 365625071 139225231 674333019 347604794 337247563 321550510 800018721 418160972 202152660 397839107 316752081 591118686 931305875 876908705 981180866 622046280 807098342 922881763 634189894 705370751 924674496 957296703 186406899 605889415 189376473 301434397 356679161 637201748 984595729 687762611 302290835 124707832 378974158 259362240 181073779 932397686 475757709 498906950 923292659 352703559 595203571 278891627 675951229 499504097 211896693 820779773 625832011 768500017 758412347 919024063 551852259 946300481 509191973 786126959 108808905 871332506 799403235 437809229 731553006 126381863 576045623 380901611 472986606 430505402 686141916 264742055 342418255 970820782 709936692 802662039 664607342 906194214 847195179 715594204 477696767 506401434 532533353 540057596 302295894 772488668 642246474 945816164 892001399 627567444 474086340 662274136 671832815 771326570 811712817 270675987 365214006 779805156 718738485 171265032 649494399 886274021 914623192 187806292 910472664 842560431 555344883 494227437 442093964 335852686 737503528 681345182 843382208 105742923 758857743 345243605 288220375 799485048 503364195 803940459 560663923 597092801 701459389 472318487 586954030 812268179 700089599 962299748 480963719 540269822 111752158 742704645 373142773 381470688 704165845 650893025 686041269 162024782 633272964 152145171 166581846 800830994 450523243 187541438 625008183 540190738 302320171 263630445 762805043 459167058 795535403 631875606 313469212 241067472 306021708 479152037 960157743 747636930 650739253 433384810 153980867 383080572 870900354 748847047 966798541 810941643 122429330 926073858 244893223 984329293 970262250 259897442 990231455 183207591 333509227 686424307 550873968 811322127 684939705 196137322 842357031 134013893 973246735 981392853 793296456 745005400 988981961 441676258 263470034 760419563 381837727 990846978 128408728 194148879 596637076 794101707 233959162 830973020 362943022 695592291 139467139 883040228 397849464 717507839 954870898 523273116 416309921 614233753 510624616 316055698 599156754 818112213 586385082 586522257 587017614 162182766 391281395 868145952 241734030 290083984 170309322 272795999 553760205 198521695 209924893 681717343 793310870 212066886 553413730 171778933 709512499 517182402 274361949 856509570 828448050 704591866 393333713 231939053 530149887 201841517 350166503 899099084 896931229 758675730 723439355 492386377 282798306 587460081 733687378 539386747 107156695 295157943 497125980 109535703 459536895 411969901 768456761 400956887 872370257 147640747 338423091 640470536 338107507 231004138 865679464 404093992 758601122 479936520 706511726 368662827 426537342 988712628 479222984 795134155 280617104 317070353 956479250 888901112 452817303 612077815 745289790 492150623 544142171 389295943 975983597 540257650 700956103 835191099 425269689 509505597 537868924 864619945 746129553 497866238 429317137 195115154 779008080 674752287 616944715 832861381 942561140 970955442 261920849 755769709 653806834 197565369 379340136 853172779 891745072 578195624 829120947 549038934 858279302 396373142 924950464 809820134 851253618 886641163 134075040 984899224 619350474 534705269 680331982 368421815 985961035 786274919 731079193 841630119 999656485 574985122 429854100 996793248 708081294 739994310 253826664 425736269 138032631 129421349 452592866 636040247 849230628 740058122 622354549 495544206 660575601 545320671 985366026 311139331 594037670 610805988 179027326 168192283 427346771 734899191 839852118 746633734 114292038 379563208 496370963 735454738 712800390 489192433 710871256 221206956 696167946 264371951 691504693 916481249 771939969 813206285 730557649 539106204 534571077 484770389 913822115 931373871 291910715 780544322 665866591 901823016 164359470 831762829 992321369 258418164 932328256 252396293 377447338 598768859 564181204 250474131 563691743 520352220 886536167 419810291 164756115 479718414 258810254 564998257 226568563 396893651 164981988 167413953 725112053 607278077 263411094 421264886 737283640 446415401 180874763 454737048 761807256 219533846 877915091 981318971 887439508 606171871 674748029 954189202 618752525 301153314 574158164 490049249 751038623 805595348 307836274 863000655 639684239 985839900 269069954 122302505 230460491 121576157 165472608 898887642 216271992 544822030 725981818 627534584 480254540 190996276 187595703 168654365 666490676 482096712 662505921 279064584 603306248 304369683 150197464 425628946 533164398 519305608 812102669 982357696 131705694 169393594 599728787 993832705 589035533 150673945 455494865 811097647 859955243 887445988 292058535 470617809 745721317 362257845 763796952 619893134 149224915 494548881 361265325 564993421 367094424 835266860 678946175 421506471 402002056 724382512 312795051 471984413 758505306 971621264 744365178 697929049 347564954 680047927 581313293 320639205 834106231 740554330 309243045 383590999 121658554 220855949 129056268 969287869 133900084 942156622 433403992 614045513 559269542 338352306 520048808 658002815 519139987 529411376 243469453 414514495 593417105 104372231 303863723 646242952 295715203 834818168 166258071 935908431 692375394 848225104 120895628 884093411 425071889 344455976 278960862 894532524 581602917 574806365 321592087 407574577 924310134 444626294 659119342 280075794 156627789 406771188 471757732 188103573 684305816 761042049 382762136 157772023 127206136 133895398 382860923 209959261 420695510 818036018 456804357 748511356 671084514 838773297 891796786 768227268 636650140 875727765 318240874 280395366 137910059 827334098 637566825 807617670 569958214 626889737 900609681 201140111 610314460 357342481 532164575 533745821 590901266 964622410 223696526 123342464 946059065 583703810 945264293 636618686 315432611 414024943 587895490 557566399 421919183 631160450 831346078 894448180 759331996 320197318 603762086 885250365 195507164 504336916 254631795 700565731 608306700 322880502 871878031 752514903 445868188 269636611 468561078 212149855 401149660 595609446 676004958 963005058 302093146 847708861 210762884 565175202 300798268 351212756 762040588 269353516 511741840 592929587 140781875 285638815 464399454 590231759 300124151 369416612 553161249 985273420 659760214 731002390 677186739 943793158 870961132 101377272 251334174 784699107 116071885 246971510 295722711 598577009 609569832 590274727 691572143 634798637 204012530 682834990 271126441 580471939 607152362 280632400 522463501 385082150 926868447 195851727 352894290 948782011 361786434 165604273 724315485 633774626 150595018 327399004 778480991 664989928 543384164 993164134 669925192 357464562 319356184 846534711 539821025 341410325 227758553 670738388 551040731 643753035 408324333 758812984 749899054 632668491 577066523 469043494 155362309 616128704 469222759 543387184 249352006 906459743 373841731 957296841 461253898 459152587 817544479 329049375 256806968 339093622 520820471 308812707 530064795 347727913 368603284 997109268 505315165 913320890 920752574 811385704 628574677 305836832 255659718 325215081 155344789 463543231 370011353 110027490 529840156 339407709 540974763 669957798 310436899 394052035 944992989 692254592 830293908 709405334 488944494 532085124 842719534 127362928 231841513 263840113 444184100 564771173 649021481 565580750 638405549 514051375 579493396 381590533 357406726 919004251 751325239 303007475 439824170 268621289 213580091 243542700 587391824 212096875 672264041 944296352 772555908 394101038 294169779 996197871 914994467 590086136 842624224 862530504 941432231 799965408 607204366 660900555 624492594 785499103 770697862 323650760 499938127 612731915 226602597 735769292 337591598 540891170 961213109 206959333 984898378 475011806 677818402 294537358 274060928 626280999 736397360 737621104 806236949 565746582 392252720 647905603 450638045 145341668 830488660 552962927 127172590 113195552 502291100 715330504 190637777 928912803 575348327 432376823 552468873 475489957 479551851 499106002 369397635 169139793 774479478 499530193 585282474 581131570 563273242 343873977 560332910 509050708 221033058 805910220 409862866 162310774 186673428 923543724 199897533 723600179 650171986 794988050 226521353 929052890 206603271 838251542 213394027 544775361 472412661 194667556 928497530 899070941 484237972 346396179 246938575 282062925 627637957 434494922 527236700 852711696 825725133 481752425 501459293 390800110 784968073 526208480 512896957 485233800 118801116 143845635 886591999 554779504 280888124 323310683 728215303 134722556 696048151 817924230 329732639 638484590 359799606 778504837 501608246 731137247 411902003 735820775 134204558 256198450 748210117 771772000 786891600 566074073 656826646 317416047 209301781 876232358 218808012 311852477 744004487 702484240 359334203 754495319 123681522 845445255 691138782 390242084 793650883 366836714 451018728 308709385 292269628 127918407 245986886 457095362 210135172 129024989 702043447 611473709 189715870 994530505 100152403 577233996 976819042 155667692 234070270 185279512 822372530 795181478 670732206 559291632 771884858 331865395 408211091 129493310 769431989 647854771 293492276 423082790 284916506 352987320 736121681 810044266 630079041 652106377 134711587 173180209 540746209 186278235 433726910 922763920 781712555 868104438 387971209 439814047 387794987 549181033 406110205 806962875 389645024 642695459 982825964 484170460 772290055 184661217 322314055 310075587 124864265 376448706 161253931 952132971 782230239 753463349 506290603 987600950 437299361 955516834 361065239 469093550 117184407 209258430 554124447 864926370 199988225 578750710 164543134 198480731 679938665 614728989 894958680 764845486 165031656 739474605 454729608 889106151 499779307 860587433 846778824 737926400 973995140 164075042 222780337 314095882 994595790 995452661 628399660 155017039 846766758 713029096 842435140 781295891 450524116 272295488 340582512 445719332 323784446 269677870 562771293 284158685 784939894 373456736 253866003 178848780 478850997 620424968 295517748 933519893 778798004 175136790 334534407 439463586 121997062 996333319 853712438 629788557 985304765 584034590 625260801 414359148 737549766 851073578 880473540 934378106 180240324 800155648 112065324 655028576 604630851 470343822 336356341 626922043 353383785 683956473 325325577 368345378 391118486 514878150 613337590 276178848 968121457 709962046 455480997 643127562 211378610 990307171 602311769 154086826 742303554 290361204 843080178 489804709 705927507 145439607 817520566 836043567 336109614 675897330 964855721 829186971 496533384 405147435 715036929 524281156 297688627 235843520 184958886 128592470 847566177 702193960 336266225 674120668 196402476 568892932 716855521 206682818 967554620 260629327 144086901 895000746 965390136 316906618 686116176 632903935 830661853 585054887 139299640 886936534 346328733 760945642 351524070 833021776 617957354 284043080 344634506 332075351 875108432 641583450 606930900 813497993 760097821 834619565 377888466 482179278 316621765 809712831 511191308 748125132 990966168 185072256 629638195 344691333 757438035 714641946 884862065 265124486 635013293 718640505 651121843 105094309 201693740 178510926 344824535 874950222 834343615 623199024 255113702 955645000 696921769 292838375 996567091 204366275 300315764 282377846 854323985 716231542 678067020 491312891 943196254 450851388 755355482 804362218 235354599 740431694 580194319 906121588 183508288 400489746 550533202 464610496 645701761 738530140 931620971 348035157 788369094 483168364 706473386 823645183 612970740 489571459 375002789 817791354 687544475 746920944 949430383 255046645 146673798 984121856 486542263 603467848 283194085 745342765 143323568 529932942 336494015 776972817 958323489 809969086 622397520 604146836 345330642 411606750 615793378 221406150 657435031 380954091 183508634 783616347 975362125 472526915 735037091 463105876 350791490 178580070 822978991 205678678 872382372 383078639 760686763 899307957 490342010 598864575 437817008 961629783 594582806 105057403 299344320 118280675 666227448 772925760 868924601 829277290 560700239 469485967 764268443 673097513 728854336 515969400 118950937 924914954 425695037 264392131 866480319 242679318 997296600 289085805 484813638 218824759 713872291 184824368 792337403 977282797 491613410 371403134 701446120 358647555 691913718 556792808 921352959 538618385 397586670 288854959 738351898 552779712 451078415 552378758 224063255 223343402 910229871 355898211 266604116 745539219 144032874 148188358 436071969 524626803 343759360 615498464 373281842 126597556 329466665 383829455 907595815 402301945 882729557 126907601 839347153 519340192 447024213 595794647 244621362 888916861 631600444 862987805 791758483 608350313 888850999 441742867 221061300 365191061 972839408 478507927 301156611 353011705 864771646 517527867 729505103 356725196 952520306 221170449 968492696 338607172 516130253 993233951 822377384 836248572 121973778 756843297 684854167 235447900 362445884 542748743 796383944 921933123 456407932 263878210 564265877 719787876 889937567 824055833 634651106 539813025 339662053 512524375 857460833 465463686 220184348 772433465 833870527 731643477 342103655 161045920 398725833 654809542 206102343 680741612 416815416 355890827 517961847 890753515 409685351 683583622 951142307 709157534 713393657 247829305 216400139 638047770 667571046 854277184 605878608 936392402 681565436 518167542 687765308 749569691 428080958 824577478 979446613 584789482 292323404 320125446 830335026 959842260 751141212 156885555 160997497 767391146 995429425 355888390 423600367 221927852 624258069 403086070 831732937 939319133 320384465 158128407 649913375 242536176 635271123 508775598 718774721 816183460 365647490 623799275 296532928 564084436 640081180 501469770 761071793 839507836 426849254 717566221 836568760 441680863 613385908 973406468 973469075 666159382 721179192 265569615 306513922 685451379 931703977 450386134 754658649 373637809 851325557 110763313 476874950 513004546 178101176 722585916 114346009 799498216 427464724 224914541 194620138 661220679 905977072 717421192 139362668 877569990 412711992 358544003 453422495 970761458 169178341 875420002 952347625 141950748 379463205 952664315 509631244 355156612 767342671 739630111 881958108 680088735 252321122 515250777 138076031 469642397 496684996 525382644 889314385 670354238 646125637 752975030 697389838 407655256 378868476 850109030 982458979 908099830 827209206 366151098 264130055 873959328 394548638 512622067 451468806 604457174 904484992 142458588 593416948 741077288 890680283 738510334 402918994 556409727 742023173 147631922 209505401 322778125 152696708 743227620 913194983 627700320 872548279 254439308 975523172 858149459 320489846 475670194 658340228 388535946 522540797 341711534 339511623 720281405 889477537 102707598 120685881 130263572 389748486 305603749 717314775 388301693 993484317 720577839 935986062 685526982 577301504 207306705 646305631 821802167 572272382 567076514 443842522 760239465 522736154 261307652 826160176 131307269 882232912 360185210 340398770 769377940 686209073 302045814 956052860 705856848 824159066 741929836 972681119 856711329 432975805 851658729 126170640 988421498 959585144 690443523 620351886 919095883 153990243 104056356 346330853 346128241 454778289 690991566 144674580 332018057 168506863 315699152 730341866 240064693 515459543 202943744 438955571 150298219 282488575 341746803 315760431 549693817 802415092 358872799 872383221 335125243 835810975 125861344 435982350 814816608 858678437 125675989 165160153 820206287 446945383 164201350 744502086 731984832 597179070 990364097 307528854 280555656 450826781 347806936 272521739 574382066 643661553 589146823 939407220 554258843 683732979 862657252 289853567 169330874 818372817 368725559 386679745 201791673 698338551 725556058 931491131 718556977 193683561 637303731 192249221 197699315 448397968 693463884 447648648 562173868 400051471 348859266 538165650 108193112 430627429 986103388 481385218 763132187 975428592 711462130 324501996 540706617 421560950 488850452 639345819 905310105 612191594 253043982 716473899 331911710 117584789 934095567 660140031 205196316 695272247 634498831 502831212 151150835 642137522 270405404 861060589 197168677 389674329 367660572 267480343 473288294 294829257 283344259 103241045 706016656 506876257 364190460 575534422 370350751 961600684 341851034 604856716 456494789 664347065 308266056 866976676 668793116 799512078 417963449 284675852 763624671 940233284 977391415 790765562 704838846 682575799 740687892 779138794 116025488 998053034 773386830 317978098 486946312 591234159 943496038 136982288 645968313 967564754 793537364 639710418 176472274 564292285 718008984 912921132 653766550 877624589 433161368 630916463 624622418 670340040 613757360 122850817 204080362 901809881 486321493 400275757 928289648 483202613 117068629 743346218 309497897 400833868 651020321 699915631 220515928 994215530 942635286 585068719 643607435 145336040 344861205 914242876 833631329 468594665 683125027 271559879 702376580 573404231 429297536 268869171 800417147 703987494 520628367 685275772 935472919 581959930 484937399 915261902 302819168 574792520 383754333 809595815 240352974 516832573 478189875 982404375 829107344 566398340 461357610 705864128 725683192 771490578 491988250 804754469 349833657 383433059 399048677 228917008 991974817 781064584 798205707 472741264 744912241 164415531 184985957 736832085 978159418 262895923 538917652 922399563 714537907 879488751 745243103 165491203 752310094 574565544 465409912 107781716 885355220 587119382 902922488 103777307 395207694 972689377 212800242 696275950 242271454 776366578 517101060 605261932 222759976 680665197 522442383 232903123 533424896 267572209 692111648 162864368 243645096 280055780 351774162 228370396 861602818 210474123 584558460 800845947 731182763 883062040 387708509 327036318 569286889 552090821 138859000 994042473 395721817 802250854 855357841 501134647 954303999 460075074 519044855 388479694 774798169 782733878 108498190 445863393 382172819 977238686 449760921 526662730 915960884 670888247 753973241 371808181 296446273 601110002 294992316 410175493 331293258 897292317 215904086 564578486 700129161 863500133 779061766 362591928 348970463 825003649 987498930 871040159 926892025 665102837 444633012 535427952 888429663 688424931 810499061 299254986 460089849 308061308 179327947 865502355 691407119 542441611 508077989 909884300 567530682 244142641 950405277 704303853 679154321 253301985 277326657 281206725 989323550 200957302 704953568 984339553 623474868 792021122 213361203 498852748 376042922 671290448 917031675 106962685 917663643 683955685 312273602 706574328 458952900 524052780 400273247 194667313 728532268 210433090 830343757 544248833 727074721 661929539 296635884 974872060 895676810 594481540 621220416 333396513 341787424 996147228 427237684 143894863 474486057 166561567 954002454 672931556 653830293 420852196 309150667 827830944 106377998 359300516 132026514 161621714 779208312 522695967 321637811 439544831 900319746 403269065 597063082 287036315 336753260 247547141 557478775 529207029 213846453 948963233 388704673 964983199 355748145 430464999 723267495 304999316 768365834 801457742 625141379 116886474 106434540 693999246 614809692 153095372 311068935 375562466 334674267 857316705 717574604 300117458 642771446 937648247 585630862 543376979 591396759 541063555 887068418 326154338 918306695 125360004 615580738 810524168 435636584 569205297 951922276 502734229 845197958 832066089 105163923 850784668 459663566 633035215 129304001 109573956 939882957 705141607 257646154 890978164 481463495 787810534 890475468 730086614 572388122 264575506 227948877 128340232 823991178 881005576 504574001 762351106 651453256 979057357 876570054 179551659 140079240 303173249 252492646 292716435 553901902 865375328 967336778 139838773 269815280 551117534 904715297 582919892 278470645 701321022 465008200 877513470 207803951 127766079 924297550 933495597 162943893 993392770 633434045 830459553 871323358 919975214 570897161 981629729 330856937 971674124 950429814 731979547 237607495 179804192 239281261 732282693 825918943 488357202 361352484 423724096 467431246 925632201 927464441 362848172 338923110 653074150 789771367 367824953 629870714 185623082 419157169 112036602 612692754 741449968 592061028 109708155 862990698 633338410 402798442 335470925 167858651 681522629 859661703 697383870 251284576 494312361 875365718 807382818 622672796 713678290 111776011 975937726 401691140 392615784 641224639 681819750 708843859 749282622 985146063 148970187 620912611 175190375 733775996 276549883 130709706 195738013 292772916 257761771 912645611 548977450 221215750 642576507 108469428 832159752 515860480 748875747 954786477 426181846 752460461 179516671 845845919 428016115 947819100 428726534 531675303 827920512 530964658 121628111 616692106 280206725 676687701 852385414 121307746 208347056 738356623 465952244 764836395 620545749 765475706 543627236 583629910 565624657 489438715 143872650 255172927 738047439 414505381 267301483 972631209 549832634 634942231 686977113 848859348 745571598 779572854 312071764 797072000 703965626 282890778 381711541 694884400 214701577 608729956 404579649 674161368 355466226 266884305 747766496 449327852 175406766 892739009 479704709 616401268 552087984 426343966 343393154 626586471 538864914 152511896 651615684 996384803 731488596 514641708 850397455 872465903 550565401 716754747 194450025 504628702 914643011 689308262 945661544 413479116 622952118 257742305 811730239 808296481 725673064 778964892 926912479 113016700 566570838 401812839 920497867 735254994 226426102 766701184 855872322 988602744 669229665 984241401 541993964 935190210 496450509 214158399 403087594 976011463 754957362 248072558 445025204 562904156 144511652 953131453 336338342 269267354 996705472 905927678 339370663 627255296 141640458 400060286 933039750 883522256 564224499 155748595 910922970 331936011 314840263 458484526 903060074 589613513 850370301 392932830 630233496 463094771 638783984 407526387 494680117 817219479 582828528 708719072 491885264 328385933 563856411 471411848 687062614 681850785 134022465 145617637 939248610 250503645 872175021 420556198 835553871 607857825 336863500 268301203 520220588 406486533 894041036 284773740 554380762 969142812 728825564 392832409 553018872 260616773 861428084 941005034 398104750 760566897 913029892 723780821 814081015 852209273 921144667 985968306 949435752 771841401 992460758 545559144 806981578 717879954 196498402 363161997 472036488 775191255 568862794 871787907 187188182 296224479 655200311 764618396 446832433 975694343 698340871 891286155 351546664 239187562 746347822 126203489 147836681 801259989 105727457 557081853 676977558 753815866 940363287 781287009 391596505 648076512 484717498 354107171 707712405 148275466 957036209 362152395 928392067 402250702 739139791 832017847 616108347 107628793 240082772 957086360 615230825 467974262 984732052 975045235 439178859 397089993 307085880 626745512 642941373 228243830 248980621 418160956 854938194 862290582 310820240 615747066 668534093 856348471 763533234 418216235 821321765 273553241 260130829 378860834 861786362 669980748 654925537 126188839 875861295 728318383 649189210 225651877 891152073 198612698 825896205 151401913 770029765 731080608 236783419 473525660 735722029 235457693 415134083 315798723 430998026 210500491 456940345 674952339 185043818 709259023 232460130 390939496 345674662 721189361 610977711 785604470 355280212 653139488 312198492 595800431 538869280 882521585 293811842 820633317 483575850 319316173 827582254 498817059 671318424 590426727 226229070 881220958 380884511 330111471 624018885 892059694 873804592 302044030 800902486 332803889 251291459 105855849 554449523 450769679 714291713 323854103 663562216 702034626 112849954 546162983 682636810 328857147 848810277 457050163 294838450 994634572 726253802 160282639 752364151 840630026 191797255 275708697 127803598 875890706 684649365 849001210 857558125 748754508 993100151 130204163 129780327 255607785 281823567 713814854 631598156 321958116 495665988 873336804 256798439 406226179 834878282 133373428 308078510 298032826 395993921 563380879 249179589 469158443 783588289 741589181 831596952 446462138 437235819 456802291 644435709 328210285 661703970 812151972 358546354 278727530 505870670 822012195 346911572 820131365 190290461 106552510 866817340 850041187 597837022 208793634 472952104 752476563 829197997 592811411 517742074 604092100 812239583 105792513 411096911 392687396 783628930 446748609 156291381 674904596 391685061 774435473 527672597 706261945 893931086 101526720 770867732 409417987 315789099 516113539 894049061 912229439 132647843 519795719 212180382 895793251 949056724 788525107 908658935 635798726 550805534 242006761 850981517 243147908 336913121 236934832 800892899 329329136 695234993 358157639 978655093 297430477 409944890 327525656 625925205 699052588 895569686 332521829 416243223 691086773 723555662 634749594 917900211 180677901 282852017 352639469 543411678 148359745 150035442 415830494 250446531 219436156 846653772 122406217 123354156 112853172 444755728 779424044 320365084 483247797 996849279 769435263 678906752 605781626 982642905 565020452 844555287 701878498 426577070 619856033 693261872 336869403 400959023 512399488 161632982 906607256 888127775 328423167 377212162 475018801 409662905 620823321 632932809 901733521 584950728 757964208 218353720 713407367 259215915 912056909 519610095 764800998 340741088 407252689 710631776 666148964 272094985 164372066 723967515 489067145 342242680 908355371 859986431 505243882 281435152 826674560 508906791 148473363 109362596 966695114 295349251 738620809 118587670 783209303 164325554 455995298 400678619 663630989 239483049 806076133 222540874 399892222 974117559 595189593 814846042 159595577 420301190 325733651 221198510 889628985 465193824 758631348 413583767 953214033 564006611 909815345 120133422 578112915 964586827 140207321 870139270 129716938 798835280 643420402 879456468 955987521 208304516 133411104 155537693 911631166 859447345 680825621 688528737 185525067 569803626 802441589 812490644 162714413 949988015 686332003 259822916 745096229 321980574 430623516 434696688 917828536 783957317 249079151 492262705 673401847 999878032 155114491 781305730 196805765 818022378 332734582 813865883 187402634 565329644 621942097 748164268 770596975 184947314 870273963 510472578 564534736 682006239 440056945 118569918 577435635 508038928 211722374 678025067 660968271 639093335 465800547 727228728 788561296 513828625 766604676 288835321 735817536 971444352 605980602 333023861 280570333 285010387 807709805 403869666 582252704 321949243 366622614 125648835 704043906 254719604 124359169 485486951 684069881 851655791 583717728 914949832 636953409 588889637 943789940 330161624 613240224 565360610 245327131 652035862 358579741 787385047 533880004 410706654 548113743 401422285 945446918 452988913 845067637 983321801 230739044 681831446 231251796 586741781 202933640 515464331 610983883 943488555 112224333 425729745 667996780 547171414 518910941 157405233 760370566 424708769 421979842 168945807 133401234 184290890 941491242 781080650 657790077 444345515 862823664 585275672 635043449 758933483 452121288 162523106 184055572 705516321 563256642 656806478 845173411 946657597 146082465 205962258 584964942 506126727 641453679 918275736 569264896 532090758 802060304 784054138 929960399 566431470 604105283 258422630 988810240 401027617 918641344 191237352 583173327 939255636 640580421 227950597 648886897 978880065 487138837 356028946 487575310 928478244 526892863 516039166 269464358 307167692 613485004 736836725 958514567 844000021 220045486 352147132 594328910 963874112 955836826 450831435 196920369 153677400 903176993 900337923 357088336 689366407 791081953 332736505 944166629 906841947 770327910 879805989 654350922 714740873 682273854 741258472 533822163 234599490 425344885 556826410 533136915 669938835 423384646 216428928 950113091 973188678 388468081 162640113 678022792 210281880 384170477 964360484 189655887 554275481 727239085 303675920 753412937 525905755 683022939 490019270 525672708 138409722 780083158 869774649 415200054 999629308 178226392 697810011 270000358 932011975 299395579 720489576 908749141 802873827 781279883 783896292 105982015 474908545 524272113 342154179 435423577 773414315 603238621 564722053 673413909 712848495 543739754 274973602 831276237 861124742 679441522 734258154 601144569 724688719 208875650 439961093 224899121 833215471 865860387 692960117 711604302 811071654 426652818 742090485 212449841 622747256 844794102 327719510 787767972 509852184 727926948 498791084 612764450 446378087 612663201 112959476 889965528 994267472 341776158 647946014 295407480 551255535 938359517 598583261 399147784 412826371 648504629 473330730 826993416 792008025 665577642 837882133 857776078 930841827 545923110 132873731 853067746 574584954 936890772 643942046 390647390 662851190 577133289 373042630 519893911 779211705 443974981 552891033 777704142 695383314 957782840 905576245 629695821 256802840 209131394 773242354 809511118 572118900 226957635 946841900 598832898 597248572 144872312 103029233 490936112 746107179 777153799 356725619 536086110 644191222 558792127 591530152 784513529 390866873 758026014 165744449 248614937 187880026 545706306 687069783 888442686 493863293 117995170 535353185 738407483 183378751 167230044 474591845 497084549 808365144 226206832 108458567 534345718 647702025 384984447 176353842 708064521 786169339 790374845 592835037 472398168 567275646 462483802 908349844 789818626 355308969 598907061 736911156 624548744 826335458 241194524 358654729 117604653 927448229 984994842 264880242 272529228 148025094 359699227 144563335 523813749 255210106 272938437 196954757 759959524 454600220 289115281 475936160 285030760 186821571 219782594 269513039 552434883 512986636 514032655 882827614 331580858 259888840 203726461 819794566 881282630 247939884 641215975 721234876 794278395 531897839 341737028 522173240 607040203 634043341 356517364 475840120 663700664 876432525 500540361 904133896 483249089 902350351 733156933 434946509 236591320 504068528 540091947 641602456 877805746 653502798 340478964 152074753 874139099 711277707 858750330 803794988 983140560 480180901 904067600 204776535 936222274 681466154 343101157 115083610 493244678 149906561 103460386 205088466 929883266 997622138 657684287 669819102 725158305 651281474 765044838 362744221 734599274 462401617 711642105 501412113 126464178 663767668 390499234 544078052 265820692 984501079 921473738 972579928 724943443 384891184 574567038 924605993 332131751 857492011 762688260 175295608 993404535 301565147 704908954 143992551 346158487 461172031 457116535 120111545 692231957 754959927 614776878 780615963 571033835 367693032 897359813 705350467 281693310 349716350 255685949 760376597 184587353 608311636 819501489 788098442 612140360 975703568 274402544 191548126 325737724 237721652 752158961 472629066 510563494 133506114 283600752 820157800 361341537 454125754 702469625 939872220 681772820 577684556 179017097 535956223 452248911 989597020 376942618 222466471 356183983 254146025 703669156 910842069 437336513 897732381 182854008 675995075 816754364 909192900 425209234 690263927 512445497 539286787 670178192 783097086 140655410 840971107 757678768 200735430 346301772 996819232 530817869 383439067 514537997 202839784 147415512 781820121 640292443 311673714 718455677 608378439 643429553 839576147 725008653 165333573 366011767 918472963 249881680 878701725 711770439 322910844 758700438 589838007 335776737 227431788 382840577 798525485 270131391 326185877 480285314 235326648 209901404 501749859 836833909 473098026 259201117 379107197 764703303 571699288 395203848 654877805 176214324 423169761 400017701 218977724 724053051 504024952 382582084 703925811 975133425 952020062 260830357 682713261 316858593 951863483 593347624 709267737 854631667 920976588 876915289 201615939 585166872 237721497 141020985 715022682 391660666 383434056 726366408 393140749 890761695 630211819 803890265 233818142 486818194 327826293 870659137 375065039 598405901 898906467 169293821 513823511 816243263 501912712 505325416 371194153 614771369 117866792 910425459 645952936 163602045 311150443 863708667 495796908 601553467 937665918 124049210 670436683 436045905 868097071 599588119 341390788 170881203 535435056 923249717 145466336 459246567 881175514 869653681 568893234 196833981 882663553 395098482 944999682 949586129 252468818 819965395 566035025 142823408 600293600 644005451 311622255 476404718 472294311 718612562 474864249 437270660 416579983 782110967 903866066 308176527 584486699 249166030 470959000 936064753 380256349 262927251 543169520 556996915 597165298 890094606 427374396 775049786 929452269 393019387 924172239 629623199 889629288 227412518 536126561 219394979 235807716 771814855 819463218 197218281 871162135 308897021 618115308 802958108 575526151 151092911 239920476 799206495 914659783 334071692 798340816 264424062 517198691 292760255 361413625 462567818 627530689 859722288 468175826 550964782 870274992 478480788 355135790 620104725 767135827 527861150 183962789 850037530 465108520 733619569 419050281 514067954 862158273 979229500 213926625 730859407 238353565 297259079 910156431 670953648 309419732 769623830 397575592 837291454 110809127 883272073 101902418 652985410 128689189 839237405 426771554 234482635 770247678 383713215 582074885 542524223 969283967 449349604 255658333 119330937 224113869 883474783 337546483 684978559 339695780 111318509 635764860 985045598 778678400 623850399 229322729 725045852 133284512 940305725 785616794 159528840 261527830 675133841 579554681 154248307 570019966 656920685 941805180 837009195 240145409 799289913 273986219 372020284 899019447 128869487 416293340 979905922 417641743 729729532 590933285 188602029 741483069 831104368 595464748 394200066 750469906 941405074 727090614 328028208 106198308 343380139 222171600 343557595 756973443 892593205 581141504 285455247 854262212 821595338 202621616 840781149 986882097 149619583 244177405 476214236 211974890 906115156 512258669 605940982 124965044 919573935 914043743 937812131 313225799 446271153 935441218 946295028 559598888 506178365 849113323 726529817 193865946 879198188 676420162 628841820 995363258 763612642 499638663 184533660 792798948 364657197 171160945 383561876 293280379 522516045 298634489 483570731 478676414 270467161 795448010 666637791 917585065 756912064 722945156 241223105 869274191 450682948 154525614 745060074 829724780 385358204 302751312 286742878 377382626 908809312 487696595 671022972 344208956 235675862 959868516 881460496 647810242 516982464 416670228 947374696 881371260 469450251 471444577 320234556 449125953 812856021 401903756 589057314 167163971 786083456 467381270 867560373 381762221 107738551 155609673 359292221 798281430 204447331 866994671 890284339 278071066 698526884 334209095 419517454 212960811 213778775 476159188 380974611 963365700 313728045 749940967 202864993 756486158 956830176 420835408 253676562 724347053 751511762 689904692 977715311 377670164 397015541 270745894 266091781 793582873 380697495 402404224 949854440 371849862 861326093 532806226 212357283 537149220 443412292 981654664 679486846 619014321 916470124 225658534 183846487 602096079 591819011 935611888 149607743 354632686 215476857 785078220 845354846 668639259 742640807 143049171 945642810 597517744 979851972 133301084 359293203 748614730 368362702 408270055 734909543 574095175 354983638 901775988 947459427 431704562 219627765 529430693 789507544 957699388 751925421 152490262 815333892 753499924 664103797 715892098 817031983 377347015 943478550 276249130 395940061 356686600 799241451 720409076 302161333 583908973 677777106 786046333 341569559 876779161 946674471 205320226 289754336 706997730 724816333 487682487 101539562 420612747 811373774 924846472 896261448 121368559 408013992 540663625 692194864 331833405 882715768 626793509 143886945 831659262 588994373 652055853 561168250 495151161 202606466 932448602 303347986 564197768 735409073 466871841 224625181 382004404 359824993 188682786 360523854 286723781 955675304 314044145 696749501 647315122 104706084 103853160 271741031 113200685 767154680 321737726 723602151 534716613 357042896 314066761 334598387 709137155 639113403 996779143 881895975 167027045 283055616 491904448 478215609 238215635 629592070 170121242 234283481 836621923 750961198 895319104 230276448 945567231 734640658 201685561 207791827 967185947 945118309 309085446 968258083 396834811 584416103 768310946 610730130 368664113 795057131 222269265 699576114 653015827 797697671 455869700 682199988 474567344 796236732 488978371 172144307 796618976 713482939 281657476 155829882 446445144 559534526 152116736 225387121 118219403 611500893 517064857 442234527 479303600 358523348 298117081 950298015 931606715 136398774 732230891 711991388 984007599 886681858 504942177 142592289 300388497 613677198 777731019 116808689 442173873 967803532 761245140 415700961 592193044 974507866 923043399 805595884 606384047 999299015 737331445 173845392 996792402 123330004 785452394 863340012 529103142 713796591 435890092 220058584 536078373 208297704 636182468 277924665 617425930 523089076 459421707 540624395 506320080 915178012 662311345 273885105 985690241 960377525 579636744 468519647 193078816 549732605 997022478 735314086 369453537 268004677 936367788 710822909 667488033 591021585 110541776 775761854 433490804 167064173 805248520 336583759 533689320 261812287 273537522 337764832 392841380 233946755 747430922 218036772 670114015 414931825 842045125 697644199 417569775 322532301 160989702 295808880 701372178 931114404 472786800 817597826 724797068 414603933 743554875 261131272 178441094 217499832 254677795 704182501 627311024 257196943 633969843 201345541 167915242 256988978 434822463 457116687 176293292 508994200 231470436 870991730 525776301 845130286 926515331 629119326 713513570 408460200 988155162 326603927 548236474 116550084 105567988 931645270 452799444 710163225 727642975 609012314 378666493 303658248 361221943 938398937 830723455 147721032 281937041 690519740 420001280 377214482 369961270 130804827 194686958 419841882 774076826 354074183 553910443 537321713 685772584 497380738 583889351 797486593 540022020 297323280 583785348 581378901 689231778 324004393 848853712 363916627 333928665 188383142 945191970 379521412 409167928 514139098 263472903 817728013 858132037 320087552 504716024 448303911 603475137 461082552 731377846 184186162 490137171 685298164 959361544 469608954 274040923 855296763 337238170 681162607 615834005 577823870 298561396 238392979 561973366 752391386 610948409 958122784 961019422 687927437 202700105 453456423 394042960 491197800 641359518 979724987 325283563 349394991 145822292 436706415 168108613 467481214 932100541 827843354 222086991 982332310 424198647 964021940 517243919 499369165 103322407 482430009 309404111 905717845 299845403 324787697 784524429 854941659 622446553 743538789 345106122 804110686 756419998 298067725 127091406 369554165 624634627 315112886 360198767 618336404 283099106 553944107 127340157 583670060 119957568 935068881 749585434 504736186 473015225 979458797 162799188 314456681 826801290 919828583 652459448 334836807 836266345 465303469 650432285 716913603 925677831 642179511 277815030 717178296 441616107 213680944 268880851 436762920 715197158 679216633 105384334 648258866 601315526 368713259 346238081 780502347 869151247 433476691 272123604 554507925 424708959 270276642 876007378 213391811 742983658 894087071 566347157 759133784 960115565 929706118 202671846 265928864 675624397 936179377 126158153 371335223 401469542 429784743 552169398 638428043 642972952 307392909 637864119 791866156 514744110 206317950 338408420 671738043 358754268 361357900 628316277 755550359 634098580 241249221 794053659 285534506 751023252 550052360 424783859 644846769 787257801 431606505 747056135 499140662 520923460 160037380 994576540 480590932 332637268 406121295 904997413 269785369 841500451 341294219 174680163 678314454 739150942 364224582 842609816 968111926 593736781 340256593 189024535 704994636 945704508 348797045 293403019 970514854 414807596 200787580 983053057 193559300 809046214 452191842 474607176 452861635 428459896 384096763 117726240 912392346 339172399 456537166 991030643 253487144 495805581 577239178 158387847 555805414 213538893 815802003 567423193 705187960 503681957 544943497 835560095 822398042 701239789 672245721 437943324 554081996 444317331 836896011 989601768 643718863 314249932 161177009 518780994 256896547 319800687 283527839 685713254 809392658 172224979 627664767 613247357 166862478 290168875 375100259 751288936 407211849 826394385 105296294 443429341 185361135 448687506 504708134 279174032 721647348 228270300 913476697 878577705 960076292 141881543 949793447 659429240 156205978 430815936 411442678 582521811 239049698 745388388 953206480 642316463 212996551 942874878 683614625 383751477 817800548 215289791 844181233 218271694 601533660 969627753 487248749 403556432 844493614 836310724 616348678 236506601 428757814 942645552 301136357 242455022 946627630 286192120 340206389 941869105 251907294 108261167 159160905 285771026 482910948 170199585 430576838 990441147 761489991 697887253 162148321 166618332 170808480 508643443 761067265 518666259 994452825 559338406 477279345 184858461 118353867 684830653 901272798 291338479 407234982 239913392 724412667 422047942 438461326 868144265 785735213 388219148 909251453 319898975 477937348 752187691 632013725 468518097 893054028 125642932 653497711 648469302 400081327 329855140 105041921 870230435 608207129 148374191 940253893 720400342 847313413 496042835 996809740 795624986 942171159 469691183 114278612 160521012 312806955 987690210 944806660 939971287 166728669 272927041 806088655 673526118 255952019 173756459 109637570 308767698 388674068 898520502 887200407 749855879 700723913 916164821 106713350 641293904 825889199 522484152 666389710 116566480 792288961 910385945 235634012 637765615 566384876 995343050 252133739 465305795 299757411 593332243 437446039 727024640 514442459 252734082 666827383 872184982 217511888 243628167 889217089 575826553 293961128 113359977 888535827 876186339 587900843 133688252 499581412 225451469 933347846 601477607 116423883 565599837 337726949 627025491 811900023 624225692 545071860 622667127 638943855 187975876 469083265 304525936 288726945 795138191 108296869 402232816 948128441 507374776 120219072 628038686 148270386 391914626 922068953 821172773 289153104 292402430 159119891 326319193 854735560 579855367 917969251 136614686 681957155 138832206 797575759 398378788 145403764 499229693 865306296 498005596 385337559 201638646 241493634 628240726 302792191 637594114 796117294 997770059 983287165 496229597 521413552 966675056 205857252 597820717 386883371 566765709 804636167 365080332 589569220 260239549 206812981 787100384 594381273 848090999 908340061 961923437 945726779 333697605 197120307 778405785 510594055 314539849 839768798 637155411 296971232 952116371 872520138 489782388 494046884 456512699 369506849 403346482 461445791 255762824 671502319 737735187 408409214 521735761 189949550 618504183 880602579 446185402 702941845 395984846 559156536 478587549 142146311 977190305 568000441 312491412 898789966 513627383 212115106 330326759 639014759 455151500 820193817 286245797 871596357 917746081 602580092 564542036 887466818 785373868 769654891 313552618 824439439 380389264 880802457 542331826 109175776 589689432 974251006 434046849 825094001 150402360 773962780 853574905 589590231 988180271 525974072 877290568 822658362 822750694 424555616 728174037 617937743 843791197 447355206 210215104 457296606 771523125 672349430 617444103 616137080 847719207 353023316 121621285 946710490 642292708 632390699 569176728 496343283 280149892 958270375 924342372 561536749 791321043 316713126 893775726 871311038 359606996 870562996 139282341 400969738 673007714 538568590 504960144 535922585 323738616 838751125 794306679 233365810 255938454 660869566 930229395 706979955 707312035 398324901 809286746 967108729 599910759 712633591 171932223 662393609 166729787 370937076 921731288 244355720 113216479 474853916 598731112 269998625 779776743 394203569 240428961 586844174 611946337 970977870 732335379 353687757 619189703 556899541 660157427 243938186 323858048 580848283 670135971 305698804 307525390 431309559 987121908 146605532 785836903 426253531 539681819 478894675 251092599 877101878 642181642 339036634 314521310 647290950 425935526 554532709 184108039 650292723 735142644 529956410 511664744 544288002 935150643 154340679 895783877 902794478 182934126 689919281 467461298 873231255 932046453 164522620 898692034 711440889 272556401 964179442 328034726 869420115 598530882 665980203 721329102 683777248 864204465 796360070 632303342 242637978 815867380 890001953 443924185 477031483 387982005 348204715 780346911 144691132 354536211 934084392 876204171 695129424 106625217 494189743 918528619 783852522 160876305 110773668 804223308 460535239 650832235 780488050 686721241 458022395 304644471 109812058 543609240 780513368 283693726 843607239 843491108 228160828 139725138 569253514 613656564 750236728 365841404 263576940 307699558 912091185 237122152 548885297 134695866 262359830 344736251 537391965 364527951 779395966 340886406 892102841 981775620 742750587 136283382 721042021 668095788 288290644 408765851 321426483 156840416 812445595 590673539 974715579 189935453 275221628 352375967 645321197 144074450 378091532 745740201 113632154 645465680 992629155 192734989 855157524 861092353 407654118 120296339 703352422 736082444 481882759 525858554 652844522 607920742 473022701 625980532 863837963 102211277 737150558 667106967 167016370 361564861 997685629 175013584 478714339 684218916 928004376 689315863 564177552 267372315 411694401 230219415 178127013 729976143 622948347 977382851 789802899 147169703 520638119 855385117 536201703 387379103 553234021 677255222 964126388 689711444 927699178 444987339 101675376 383490647 860451653 871741057 302340187 518448066 862063527 887629295 690821062 787045250 659473464 185115563 929359135 823641026 144116092 261366260 227727205 283996604 589653735 163395230 872113534 320126891 762172147 377013288 243157496 956194737 425828633 997050092 826967206 562548561 863113072 126093931 410761765 560242912 301108701 347121242 852228275 985324539 420087357 761644809 958007481 147174694 655546781 423085459 127308211 320819036 316265539 707494445 468386964 980366512 155041426 608413087 446205157 919601170 539242458 504271921 427207316 693052299 379754992 763609615 798080158 344009144 933483206 302368389 172319018 747261560 402777658 278194945 694215788 234237682 263941941 644599456 649762284 904802772 261016252 185918602 619539249 303703454 442312773 515196803 178892042 625616540 203460749 251517864 438351557 120633984 224241044 324842457 325946166 915864727 433833382 812993905 691490738 927407054 650619829 444151407 365248996 176182000 947467111 687517875 690376932 921436324 820388023 367282776 787701814 333773751 260966421 456885257 818756596 373988958 387636788 626249296 259823035 648044906 401823786 726036072 923056930 386348535 576775501 565047027 767144623 881353808 125522764 858116152 467487102 268195044 889858146 709821581 973368024 680538737 199859346 400975090 118629966 945125146 478919625 156536405 973332312 964364039 145345925 330563651 260064413 607804084 712101109 631941825 745208574 450689659 259962516 346705958 330035797 601330507 445473002 373292532 486253106 837316330 411282327 989071281 216762151 103514631 594232627 464560591 287411659 928746489 894145832 671015094 205397168 106122038 951040898 593197947 666086351 561173500 961669726 881837417 501521666 432634469 916979675 378813747 245253388 230050136 516373955 206657728 183120970 122781103 794096643 934788598 643986484 678218588 950407915 377546643 666462860 414160864 973897932 164069257 794793380 292058393 165905175 316004791 899449698 153264921 625865207 911007295 444457309 429985001 510612562 984413565 989593111 935619441 145593052 215574304 667608021 175179364 588439822 170339157 856844318 900324177 977736985 868887221 752746065 799740728 752966154 903516780 685288920 101869667 255248199 845791497 719215990 862421569 279649162 151250806 136764655 833177948 110840545 701845731 921642443 418541077 549110328 443388413 823173279 868393322 658152384 851542901 177295362 875137531 697330281 113135166 737476405 600371705 249523793 121292201 757395855 992354733 352839230 298812711 920464555 370310387 450491114 756444858 436042744 231703287 846805161 242626845 972206934 273284974 182288475 995614480 271376340 987348793 580095089 491633870 815584143 209162427 917646874 999362555 675618352 244073662 441907250 441457829 847033342 908177765 512479764 142470522 967066659 727689034 984752198 924592679 310624386 456629863 857920013 794397291 529285079 554491519 488463677 218289904 760210624 300553788 677282352 922834454 125344525 857751633 532012309 139839176 364457538 911837172 174403751 375603204 892660443 948083692 611561877 283518752 886840605 547897536 342433453 262009128 803036425 841592187 985136325 512156925 721305351 301553829 580711970 771323574 778356870 300201339 159972862 596318358 178673645 950498848 835700243 433683409 170400045 348608476 433807143 353869418 437316979 649081296 214369114 108273623 763538288 222504911 690762994 995424036 639507687 721072796 768966192 423211830 713856842 803498002 351026423 349757611 815470557 993374087 251260382 603806105 508826894 950755031 466014011 485913865 613945627 430116816 713381678 300131132 671866849 820535333 278894638 608736910 446143387 343968164 312645913 794408553 118524516 834828734 511053194 557051412 302775911 981745944 225489409 614816734 397621241 414559907 802142419 949402871 155728460 487273925 327464536 765652148 833052988 320491386 150316498 312384428 295990510 821030874 449371542 578414236 102576647 736545299 715693056 458172484 798454182 603413468 925589276 638503094 600010979 564388489 439673435 844772978 887186599 432682971 214644527 502938117 636118959 319655437 235857042 237873709 147736955 518670155 884488253 385353054 514131277 790321959 925858846 803974406 983347004 137842430 102760474 367733703 575888313 690465939 734479417 923476434 323021820 259448049 466054716 572592686 218505635 412567420 355996426 291277653 211623437 833438261 595986930 888673633 689562019 805171196 273076205 853796372 377302110 988035800 798705848 354210196 713841234 271033385 471517723 819978923 773055576 319586004 507485658 776559832 967314340 155136138 748583640 610385033 451598035 741809204 272608105 675659739 862284892 262006248 784342546 188562217 889335846 936911285 200233046 957898831 340455504 711356742 207348256 966577298 357989243 650281137 838635056 995077839 545049588 188219613 966575484 735994490 969794557 929966625 951810566 445374584 192906685 979801511 843637444 158009208 731812437 519662398 745238451 436352955 852187938 160722401 322364331 419414252 309486278 606651093 249895089 745907923 786744853 959579576 681766336 361409221 278735968 833602800 622893714 423992135 311446700 120770081 448210574 529770902 876402527 687973311 638607362 784260183 557249334 634104262 363074962 997542123 624022312 970639766 830868543 752989366 624104687 263941264 853659502 789119531 917791482 227900071 548713992 999928746 222117749 418558912 880716984 572999488 654217783 958334838 967040872 716635808 100284205 515648798 606846459 462631694 733921230 406099952 589551295 795990854 198893364 970177582 436425085 543460361 677402871 379545635 728045761 330022715 566016956 539171969 619969928 811201691 879840322 702013074 761960420 171304748 646250396 287429367 723781987 434099995 128170317 739596621 899171462 674550958 161269986 757027670 252981213 334304069 626489858 426340897 809332738 939610698 501119704 650334820 105899464 694117207 281053777 626422797 428261410 684657594 196556774 808764877 811385630 291457556 393133851 551642750 105141476 320272483 150868343 991821577 492089194 471252039 591280472 263781890 378938833 443554851 753939378 984895725 757803400 248038672 893469905 239483559 328633356 962864614 168019340 549874441 103532050 839521857 573417001 825170297 459800129 755661435 341206160 803834553 584564357 974915048 719381164 391574523 616137651 159296403 936604869 735150236 166306191 388617273 175169483 262212968 797602418 382330415 383157122 462291087 653071914 288701696 560328717 513316775 846206460 952956235 184480102 279387095 537056529 542250745 488323199 925128440 481763994 530181537 332987113 114604479 285132687 162065603 347315434 635813280 505504593 708622325 552188029 359393703 977051596 312525119 203234838 764744459 452858942 279218006 108083639 975680724 486004269 736741850 548763497 563076228 123005983 540262502 938386964 928171636 211237172 287866117 560579425 629216352 473665200 495950084 833130051 828783012 161698625 323248148 839361668 604096199 432162866 926792304 186063439 807273184 953779865 945080039 706765014 221466351 777983279 324358708 395152790 225454599 684276880 403266274 807656914 190543946 661119820 437923113 562756188 754067752 871483759 957241839 503037484 182697044 381778105 148319735 552819848 248957313 166121017 751313046 298282893 670820499 933496828 243789062 244739937 758595019 380951541 333146251 313288551 699745366 374020312 330316262 777437289 388321948 907460022 590881279 189452045 661427794 333953485 142800587 957209402 514052051 155450731 536692861 665962046 958741042 187775349 970009867 202481134 718625715 941532880 415962954 511569719 618097837 852995488 677932641 375057491 231588472 677940038 579692489 605427639 667523121 499767178 922449834 513762245 680264205 704230901 767173198 853566763 346040360 949616430 220014680 332385923 240452459 397870347 490328467 296722684 723984127 753178538 382710308 548027063 845350586 548223246 397765843 997506796 672238949 616094663 364341516 523505106 892083629 802497107 373241280 524694716 334171959 945429365 986700339 536902095 551882041 904519170 592975190 745146352 476897016 708270104 629138059 574433030 238693035 823239232 360842550 305397254 960467624 255043592 583811402 317882089 147747249 414430688 281654459 619715525 183174152 297730103 230841351 379068455 858778822 156648895 832164470 498148950 182640302 944357801 672306818 582425829 575031940 299605345 555891199 298029008 617312867 226355664 614489660 651534298 271196099 644039430 372512004 853080797 837054576 912935628 642575883 392602963 661161054 502935726 714999813 227838413 744736796 851682702 264310100 208864145 416248682 393991571 925968444 401581768 461838119 379179400 832281865 594254567 700943423 629583024 419940771 440286023 481394160 426892802 197680788 464305315 707454983 756556310 468041693 738445472 374763045 852155528 732562457 255294530 390514712 894428282 166984751 351502046 431721748 342453780 970762394 444801825 851987208 523686010 997557457 343057659 870733387 348267207 795482857 688807809 865783903 989446561 330366663 828586085 359619054 333860607 758192466 531464956 707209930 671673545 910360276 820552194 773614150 758256047 703459870 385060877 203165442 244760904 580819016 119668059 957398658 305632269 312224631 344830882 476072542 983250701 287550717 100586762 701513541 952466337 884202026 351598661 900028213 852984809 988093808 144773112 679118126 102031827 528953384 954602990 897962580 527690510 942350534 789109877 168249346 204590535 802996175 264504433 612774288 502818954 697534450 957350625 576920873 155332686 451272344 260951624 474034399 509605662 907743153 798255276 453528787 563842314 495576880 382828641 816170811 649021947 224313227 776772124 972315954 253993084 450650641 127812332 235742838 130456445 304569045 293522338 962942522 995561068 489483355 418022606 303185231 199970931 421718787 570464690 750220814 948868788 391834931 629555155 734682903 965323779 682100008 261373850 456672114 800063405 574988960 377682217 497138760 731054482 444672698 108609835 993773981 273924452 523116385 528069100 868251472 794105906 598806658 393742947 801212337 906987099 929289294 908138396 828118877 131883972 478261638 508794412 106260285 393365823 193087878 803003038 680090662 824844914 311255262 771651447 641131295 240821017 761796405 764134390 398752652 223223775 221336469 702046758 547367869 412045732 562670411 346198249 263429876 688127004 532972567 555195625 753062768 645277442 242333158 854392430 303752241 787886447 129241082 781863367 845461288 459658213 150968056 593425612 717105252 366601343 723643708 573119702 760419502 511074889 821645315 885999751 510221525 978784557 792984612 548237492 146146547 177669799 867125025 241198941 953297557 880851370 308293799 577220474 262563253 416792623 330202513 767657060 114548216 799832685 976036095 268821379 549322764 969596686 182972751 327608465 220789724 816969348 811283010 811859261 156443997 395195299 741426342 546975328 417068356 753519183 187517885 639701669 590285546 321517194 727384376 853734378 288034843 152396498 880821943 935190515 167286338 879329125 787145984 481471491 643818835 530378184 211890996 210254261 299152097 637387695 130631524 270211019 254536281 401307256 626649054 702289218 912006767 879120863 856203940 649022008 866685119 643725923 739810241 147120356 464175858 993889908 837017465 559354097 309667224 318751110 942496861 908607906 973329557 994382762 369654587 441688245 114478921 321494929 118546270 455677282 901129385 581337868 626452602 916636487 600802015 222409763 179299406 239451711 283299273 840817093 159243646 332200397 716509547 465015321 297037367 575482640 303862960 971554113 950775865 564884834 429831704 611067930 946177269 437215753 550792089 110830025 606251848 594093304 574242921 398194132 924661455 376678300 719410828 821002108 917351293 859688100 927719517 945295033 378491933 219934925 284977030 809533178 375061440 434385640 950356174 931385878 498068876 922231097 377934487 536870517 993717849 319013456 665854492 938431324 632070893 374607268 376222714 224978693 741185348 818243882 899148735 503145980 466391265 404318382 250417027 617644394 897847314 253722708 529970091 255079288 945732109 626239625 391632377 226790523 380718999 127971929 642893782 528261472 175997718 501632730 971160442 671726324 675634284 727705603 474702879 187729802 203164191 330442005 745472780 816477611 348423818 923951431 624120992 487959273 812059434 283739164 822985601 520986743 672274985 898782831 991841559 101053360 948429283 515128225 251962233 532382457 450954995 617570799 384462467 218631944 315544793 493263291 682479844 204845306 828789619 605876009 144871617 613166601 151203613 226710051 353850290 999127610 101337971 317693345 680620775 931500491 761139766 852274036 792440918 403811573 558510529 270247515 611800787 348421494 974460514 399713131 326672397 905581348 431808289 510841531 548682436 827735329 361724139 589585534 956689841 130955383 773877428 824904755 790799364 703181405 913197056 662079947 931381909 573091983 830888898 438631407 507005999 275841066 585230658 529733347 408172776 214569095 290094537 495930832 733077047 241683011 170133312 792062536 302994702 290296906 828765414 178205973 486249093 989155327 197028982 247188055 347929624 927453544 146592911 740723443 839372941 750179498 149723052 286015515 675294979 664439416 992554378 763805262 684701240 921968444 720002605 170903161 461209203 160826868 625064044 351329504 551135565 662229551 979448454 214282455 659755708 782026575 545881043 275208590 801504193 400787190 723353991 570795068 682014689 501114645 132566462 844884253 331654690 994246172 613399007 783604022 191514796 643228573 408692926 710024963 684513306 731330112 879429775 109710361 403324778 759499510 304537843 238999584 924856281 725852623 937117738 216784710 311740705 312680104 103018658 837532297 658951367 515126511 970580131 669510514 304373729 890384455 128339403 890545776 928414501 808323398 613671652 264044898 920911361 704138421 701721038 886736515 365670746 154118599 524153366 456289543 453526038 609883425 696949083 260120446 874767708 266230629 784143166 223871687 135603807 946492287 621091121 294396161 123772588 747563035 220759442 661784400 739727873 700121664 707419025 256084662 589348634 594252173 166257509 764882497 100201248 298547879 851924760 348313564 799254070 273732208 679543337 574897181 134635607 617520424 664318312 459468226 301536590 706546638 170173879 186030719 885937064 258612273 313312069 361293050 392880502 902724139 891087465 568088432 938026726 614305749 669609507 976463570 410010576 340507461 934671166 442396180 345555017 787624914 104747160 596900628 564857571 515378061 837012527 108896588 930930418 164854764 877392892 620940798 527217949 620466892 319107650 893044410 924311897 218950037 216179765 716955809 920963507 254850588 118552571 876346914 364019084 278074218 495377530 486639912 327817418 479359271 744464203 217297301 194471303 463515042 986337382 181623181 144649024 764543565 915892867 985736985 134763824 101070362 178888183 858651317 595991590 247949884 942993140 310361158 954653326 313127696 821815886 980924719 763981184 907090782 747591702 100109645 778068545 616665737 615762922 239836531 961635730 190450361 355299131 777185556 703379288 593567570 788329589 468480114 126544113 700790437 145344897 446244921 991061923 187135402 358670061 295076877 467640596 933716357 363539565 763112294 441112921 548735013 752763843 604131907 192865769 206002401 270171554 161835478 318313820 701533520 538826200 947020808 134088629 767995311 807762251 989672036 220534774 388819328 830687250 856608172 236671064 487554444 526261415 772488714 897448728 505742952 703799335 287353588 806321053 337299431 843018445 760139002 579120883 330914275 450513100 996069661 969868863 404676807 612618595 235518187 193173782 201862398 206040495 792897139 559612012 587882066 809809478 491217349 995966262 164045266 992602192 496644768 873567055 862124948 701532178 512386554 544436013 281219459 616353618 623654704 194620277 188890923 140275991 410107061 867793065 980305229 601073475 292866314 968919625 398197250 788520179 670303756 915414260 903010150 344252033 615997117 634941346 558669826 877343943 719282442 663710207 608619872 412568692 437161242 920063119 158772242 165619617 856794959 638810680 626695177 958089640 449934591 354424150 410282622 292034006 931638204 143475895 793459777 185515973 227892207 910085795 882933117 851051837 449040098 667910147 455270039 924449738 187164860 462468921 687488030 246651082 917888865 599052325 776037784 886708597 680310349 124775781 161541918 672430189 753702071 860546735 391454398 881783845 200333262 762554734 204838493 608814541 945364375 664219675 384847389 845459361 804895721 334188625 632609208 568386913 819582080 365630257 462143342 409796076 468690627 275233379 602317891 489363804 184795659 779806294 183768908 587074887 526303294 795063694 155677095 392562140 617413714 489224521 499243019 795299314 327051695 728621419 857856233 995022558 724769657 804819069 619351739 480529394 470887418 784182291 981283631 355444123 960751635 302371670 204664569 610189678 677249127 779205231 303618981 507144423 596087394 643582488 960239170 451435909 335192998 623786210 562936973 873504808 452085880 293139798 449121845 555696545 167609341 559882567 778490575 866902789 440572467 441735293 670576796 346796164 548188692 314648381 292859843 981871130 581068843 506608805 253258139 594241490 325656819 629151862 670686912 292670441 895613570 158727831 740755980 751179794 822603437 635341620 326768124 155798983 173353886 286368114 735500040 982147565 845626264 972047424 748163745 601016783 892539709 553618209 955621661 537932642 689939588 866563214 259135238 549158538 128903367 804052127 218906036 938355797 282678873 987124244 782634780 511596045 190483473 304479885 378057473 579197326 219933509 430001040 677469900 694454444 970923973 101151747 580808708 989205314 217500916 720810156 769899153 905603336 841525365 407708408 209687335 933252872 721387141 579923677 393750500 696245790 627260214 181284447 616856090 337603312 581037412 550273036 135265150 329411983 559533347 848518802 949882788 117758930 341370030 721683089 704168957 389105378 217858849 961686217 781523615 755903278 377498754 707547001 928698629 585356216 835426211 824304624 535644913 981248203 944240386 722771271 381390996 872805001 171111231 982445526 508549943 425709008 681524935 310537867 836439073 361209965 428618352 568530772 263286028 464004189 365048160 102069209 156039346 763165395 985874065 942512166 807089701 392773934 333146372 681479778 757553632 653495162 685034890 667095456 415351211 671209639 587674712 887140432 528343119 784005467 283137435 988315897 941647690 111914480 534892466 591326291 983789460 372275930 729102051 104247038 866136190 940835011 343878868 559450076 136785559 199365056 328257451 253569851 644364417 696953323 947827262 415903015 662942919 360488923 526050313 462260343 148425306 800141412 591730317 559546802 248504027 577316233 976934615 425821403 642354987 894730509 935448670 520022996 877565911 904071308 479383630 163837154 224266731 376285047 556064227 452878894 996900266 599978615 824635516 868744175 689608169 356806140 791039841 714931277 210248366 929011606 175902964 684117982 418619193 211809399 305234954 239820905 486019931 893882697 543777630 764592838 701567794 243367561 298118175 215444750 970806865 740423052 460763713 609320226 605434266 955123425 568629643 590684081 568857922 470033607 804980275 465552728 723572794 744260121 159282987 470421186 832153655 569845778 809760359 870397149 297670127 952009889 330420614 663170695 613738931 499143660 651127040 303961951 997844634 989079340 490285849 911125587 222894984 164150043 996693385 427280322 280528615 687333013 398076621 535644546 890017656 396465859 284659629 491297474 402666282 560518522 675914922 557827603 766011194 442828087 280122537 885376600 446972307 610749342 438698918 123599033 760056285 328349498 152179260 367143414 544392726 258444889 506200090 524919101 587712790 847967779 301098772 663501732 731968810 631097302 677323699 282022468 600587058 727122111 426427682 872905943 496811445 504334035 738028004 233836212 558033829 850243849 356396008 990587746 783822576 258485393 679223114 570453305 201608311 107939516 678991084 556931508 526312646 874428160 707679959 497032367 364066692 716596374 119646601 504952352 550229835 699960944 664829558 304032103 420404965 517717910 875924001 904793133 485715401 351470329 101558896 184924474 738545751 181948299 972407301 947866823 526108281 700372885 269849325 808957545 252511004 280480393 168751980 949433193 355094350 972283803 641157830 708852258 998214515 965206475 169582746 149620475 698424150 701363653 786021012 221327248 882959942 148070046 936384375 715686525 746705929 272199976 866523673 572666273 105317129 550924216 620610465 128462506 824050258 593477092 125856813 612586404 182943720 498502313 784727184 885819482 293319236 266014509 870698789 605853795 672273011 532318919 703029977 242854396 606550243 842276220 173338611 326890321 166429787 518278474 930129354 135531420 146317647 190563113 107117575 617593884 172825758 913267058 586027030 393956396 428951162 471926573 612925750 174472757 734476551 970017134 755349929 204840282 911533852 150004407 821686721 321486615 771865825 835726455 776296531 248302267 811260010 601007142 154583020 490503296 811776169 542450219 201991355 283649350 719265513 408522086 496485573 627403649 212952338 899059279 825382811 134840644 499326012 763400163 414639250 504234647 552172738 896922662 522328933 425236590 818810393 605388668 410435024 570990136 142333897 876415372 518655464 639683557 831456372 237145125 769753308 298326228 344167601 487520659 486938972 682561807 370822642 741536467 611209677 491709088 241848758 159896696 701774097 584810672 980541676 791394472 154017708 154945577 589778583 277504636 687051534 779457879 942406268 698555556 571948845 543881208 769203373 335328628 516302451 219400970 220503752 712966561 791114100 577602086 680936607 169355116 389543104 915880346 362827376 776843594 789828557 902459347 915266950 737369447 496001561 367407367 621362222 737830982 302529683 742469980 620591953 234326698 633178223 377046534 955669573 288341755 704661346 807108467 221199231 462915585 186616741 428164553 291049719 678940714 262542384 157191832 696817174 182230951 956983370 272775459 355973370 559809571 690029632 466168115 743766683 504729920 607487393 692933480 264856384 179826271 326063543 956509659 701941625 999356048 190798937 155454219 423195929 594266116 671829842 993610341 972177423 296474855 327616231 910522002 144350110 814164977 532791442 332989826 882677891 281320926 202705547 879500575 607783431 924668579 691360000 468900223 301141696 746264861 569538842 515510637 795964894 850719722 400074135 561010976 290262784 542579653 390847866 339496659 903498356 687047458 414873261 727601089 866270186 869485480 454190309 948820589 817599193 374640239 803323670 667240667 933644760 878947194 395728678 860538451 904484792 938234516 219844590 690778754 836972471 366389366 444406920 729269505 842445924 986182928 759484060 521035657 222675337 185846260 135495005 627847870 812815041 830150246 148211044 339494915 809173040 344774129 175517625 709809199 784915267 296099499 877498361 137232454 108183733 946746602 671482567 350720567 632616849 926810167 388303735 854770443 938932251 599664128 321074142 688176995 412027604 718575004 581256412 160528622 142152266 464810202 171866073 769970747 565385857 802400009 474878791 709743443 597612250 532431805 485932494 444097524 946179682 384545756 461109306 446679905 730595420 712750400 150208071 211428548 258578498 490805652 761681891 520989896 470153970 297757747 732921226 782821823 169669824 511030353 685072033 771435644 397272551 554740183 769467627 226998856 431778537 655076031 301570064 761727640 847484793 275685809 695047431 375774287 249355834 446998678 369310047 476695800 690808177 145696914 118701422 551254444 738219347 626964290 181441350 716080391 658601166 193720708 637939539 767652105 934804481 506824369 825618270 756300990 890274869 813157983 941955874 307956468 314843038
